Title: Recitation 1 CS0445 Data Structures
1Recitation 1 CS0445 Data Structures
2Outline
- Discuss the following features of JAVA
- Scanner (reading lines of input)
- String Manipulation
- Linked List
- Hash Map
3Scanner class
- A simple text scanner which can parse primitive
types and strings. - A Scanner breaks its input into tokens using a
delimiter pattern, which by default matches
whitespace. The resulting tokens may then be
converted into values of different types using
the various next methods.
4Example(1)
Scanner sc new Scanner(System.in) int i
sc.nextInt()
- this code allows a user to read a number from
System.in.
5Example(2)
import java.io.File import
java.io.FileNotFoundException import
java.util.Scanner public class TextScanner
private static void readFile(String
fileName) try File file new
File(fileName) Scanner scanner new
Scanner(file) while (scanner.hasNext())
System.out.println(scanner.next())
scanner.close()
catch (FileNotFoundException e)
e.printStackTrace()
6Example(2) Cont.
public static void main(String args)
if (args.length ! 1)
System.err.println("usage java TextScanner1"
"file location")
System.exit(0)
readFile(args0)
7String manipulation
- Some examples of string usage
System.out.println("abc") String cde
"cde" System.out.println("abc" cde) String c
"abc".substring(2,3) String d
cde.substring(1, 2)
8String manipulation functions
- length() returns the length of this string.
- charAt() returns the character at the specified
index. An index ranges from 0 to length() - 1. - indexOf() returns the index of the first
occurrence of the specified character within this
string. - substring() returns a new string that is a
substring of this string.
9Linked List
- LinkedList class
- can be used as a stack, queue, or double-ended
queue.
10Linked List some methods
- add(int, Object) inserts the specified element
at the specified position in this list. - add(Object) appends the specified element to the
end of this list. - contains(Object) returns true if this list
contains the specified element. - get(int) returns the element at the specified
position in this list.
11Linked List some methods
- size() returns the number of elements in this
list. - isEmpty() returns true if this list contains no
elements.
12Example(3)
class LinkedListExample public static
void main(String args) throws Exception
LinkedList list new LinkedList()
list.add("Hello")
list.add("world") list.add(0,"there")
list.add(0,"there1")
list.add(1,"here")
ListIterator itt list.listIterator()
while (itt.hasNext())
String line (String) itt.next()
System.out.println(line) // end
main
13HashMap
- HashMap is hash table based implementation of the
Map interface. - The HashMap class is roughly equivalent to
Hashtable, except that it is unsynchronized and
permits nulls. - This class makes no guarantees as to the order of
the map.
14HashMap Some methods
- put(Object, Object) associates the specified
value with the specified key in this map. - get(Object key) returns the value to which the
specified key is mapped in this identity hash
map, or null if the map contains no mapping for
this key.
15HashMap Some methods
- containsKey(Object key) returns true if this map
contains a mapping for the specified key. - containsValue(Object value) returns true if this
map maps one or more keys to the specified value.
16HashMap Some methods
- keySet() returns a set view of the keys
contained in this map. Returned object is a Set
object, and can be usedconverted to an array with
toArray(). - values() returns a collection view of the values
contained in this map.
17HashMap Example
// Create a new HashMap HashMap hash new
HashMap() // Add values to the created HashMap
hash.put("one", new Integer(1))
hash.put("two", new Integer(2))
hash.put("three", new Integer(3))