Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Recitation 1 CS0445 Data Structures Mehmud Abliz Outline • Discuss the following features of JAVA – Scanner (reading lines of input) – String Manipulation – Linked List – Hash Map Scanner 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. Example(1) Scanner sc = new Scanner(System.in); int i = sc.nextInt(); this code allows a user to read a number from System.in. Example(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(); } } Example(2) Cont. public static void main(String[] args) { if (args.length != 1) { System.err.println("usage: java TextScanner1" + "file location"); System.exit(0); } readFile(args[0]); } } String 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); String 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. Linked List • LinkedList class: – can be used as a stack, queue, or doubleended queue. Linked 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. Linked List – some methods • size(): returns the number of elements in this list. • isEmpty(): returns true if this list contains no elements. Example(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 } HashMap • 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. HashMap – 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. HashMap – 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. HashMap – 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. HashMap 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));