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
LinkedLists CS445 Data Structures What is a list? • A list is an object that is a sequence of objects. • The positions in the list are numbered 0, 1, 2, … or may be numbered 1, 2, 3, … Examples: 0 45, 75, 31, 52, 27 Bob, Nick, Anne, Mary, Larry, Celia 1 2 3 4 5 LinkedList of Chairs LinkedList Head What is a LinkedList? • A LinkedList is one of the many ways to implement a list • Each object is stored in a node of the form next node object Instantiating a LinkedList • LinkedList<E> • Examples: LinkedList<BigInteger> bigLst = new LinkedList<BigInteger>(); LinkedList<String> stringLst = new LinkedList<String>(); LinkedList Functionality • add(aObject) – add aObject to end of list add(new BigInteger(“234512909345689131321122110863523”)) • • • • • • • add(aObject, position) – add aObject at the position size() – size of list contains(aObject) – does aObject belong to list get(position) – get object at position in list remove() – remove object at beginning of list remove(position) – remove object from position indexOf(aObject) - remove object at position LinkedList<String> list = new LinkedList<String>(); list.add("Bob"); list.add("Al"); list.add("Carl"); list.add(1,"Sela"); list.add(0,"Morgan"); list.add(3,"Mona"); System.out.println("list = " + list); System.out.println("size = " + list.size()); if(list.contains("Mona")){ list.remove(list.indexOf("Mona")); System.out.println("deleting " + "\"Mona\""); } System.out.println("list = " + list); System.out.println("first item in list is " + "\"" + System.out.println("last item in list is " + "\"" + list.getFirst() + "\""); list.getLast() + "\""); Maps What is a Map? • • • • An object that maps keys to values A map cannot contain duplicate keys A map may contain duplicate values Each key can map to at most one value. 231-45-3278 229-03-1259 256-41-0920 209-60-8877 keys Jones, William Keller, Mary Madden, Matt Jones, William values HashMap • Table consisting of two columns • Column 1 contains the keys • Column 2 contains the values Keys Values 231-45-3278 Jones, William 229-03-1259 Keller, Mary 256-41-0920 Madden, Matt 200-60-8877 Jones, William Like a one-dimensional array, where a key acts like an index to access the corresponding value Instantiating a HashMap • HashMap<K,E> • Examples: HashMap<String, String> hmap = new HashMap<String, String>(); HashMap<String, LinkedList<String>> amap = new HashMap<String, LinkedList<String>>(); HashMap Functionality • get(aKey) – returns corresponding value get(“229-03-1259”) = “Keller, Mary” • put(aKey, aValue) – inserts a <key,value> pair put(“229-03-1259”, “Keller, Mary”) • containsKey(aKey) – does key belong • containsValue(aValue) – • remove(aKey) – does value belong remove a pair whose key is aKey HashMap Class • values() – returns the set of all values • keySet() - returns the set of all keys A HashMap is an implementation of a data structure called a hash table import java.util.*; public class testHashMap{ public static void main(String[] args){ HashMap<String,Double> table = new HashMap<String,Double>(); table.put("Bob",28.0); table.put("Al",28.0); table.put("Carl",38.0); System.out.println(table.get("Al")); System.out.println(table.get("Carl")); if(!table.containsKey("Al")) if(!table.containsKey("Donna")) table.put("Al",28.0); table.put("Donna",24.0); System.out.println(table.keySet()); System.out.println(table.values()); } } TreeMap • Sorted table with respect to keys • Column 1 contains the keys • Column 2 contains the values sorted Keys Values 200-60-8877 Jones, William 229-03-1259 Keller, Mary 231-45-3278 Jones, William 256-41-0920 Madden, Matt Instantiating a TreeMap • TreeMap<K,E> • Examples: TreeMap<String, String> hmap = new TreeMap<String, String>(); TreeMap<String, Double> amap = new TreeMap<String, Double>(); TreeMap Functionality • get(aKey) – returns corresponding value get(“229-03-1259”) = “Keller, Mary” • put(aKey, aValue) – inserts a <key,value> pair put(“229-03-1259”, “Keller, Mary”) • containsKey(aKey) – does key belong • containsValue(aValue) – • remove(aKey) – does value belong remove a pair whose key is aKey TreeMap Class • values() – returns the set of all values • keySet() - returns the set of all keys TreeMap as a Tree A TreeMap is an implementation of a data structure called a binary search tree 231-45-3278 229-03-1259 200-60-8877 Keller, Mary Jones, William Jones, William 256-41-0920 Madden, Matt