Arrays Java Generics Java Collections API Collections Datamining und Sequenzanalyse Sascha Winter, Florian Rasche 14.11.2011 Collections Arrays Java Generics Java Collections API Arrays Collections Arrays Java Generics Java Collections API Arrays int[] {1,2,3} oder int[7] Liste mit konstanter Größe Java Primitives int, long, float, double und boolean direktes Rechnen im Array möglich Wrapper Klassen: Integer, Long, ... Autoboxing Aber: Zum Rechnen ungeeignet java.util.Arrays.* Initialisieren, kopieren, sortieren, suche,... asList(), unmodifizierbare Liste Collections Arrays Java Generics Java Collections API Java Generics Collections Arrays Java Generics Java Collections API Java Generics Collections Arrays Java Generics Java Collections API Java Generics Typensicherheit z.B. List<Integer>, Map<String, Integer> public E sum<E extends Number>(Collection<E> values) Beim Compilieren gelöscht Collections Arrays Java Generics Java Collections API Java Generics Collections Arrays Java Generics Java Collections API Collections API Collections Arrays Java Generics Java Collections API Collections API java.util Interfaces: Collection Set List Map Queue SortedMap Deque SortedSet Collections Arrays Java Generics Java Collections API Collection Interface Allgemeine Sammlung von Objekten (Bag) add(E e), addAll(Collection<E> c), contains(E e), size(), ... toArray() iterator() hasNext(), next(), remove() for (String s : collection){} AbstractCollection Collections Arrays Java Generics Java Collections API List Interface geordnete Liste add(int index, E e), get(int index), remove(int index) listIterator(), listIterator(int index) Implementierungen: ArrayList(), ArrayList(int capacity) LinkedList() List<String> list = new ArrayList<String>(); Collections Arrays Java Generics Java Collections API Queue/Deque Interface Queue, normalerweise FIFO: add(E e)/offer(E e), remove()/poll(), element()/peek() Deque, auch als Stack addFirst(E e), addLast(E e), ... push(E e), pop(), peek() Implementierungen: ArrayDeque() LinkedList() Collections Arrays Java Generics Java Collections API Set Interface Menge basierend of equals() HashSet() konstante Zugriffszeiten bei guter Hashfunktion s1.equals(s2) ⇒ s1.hashCode()==s2.hashCode() Collections Arrays Java Generics Java Collections API SortedSet Interface geordnete Menge basierend of equals() Comperator oder Comparable (e1.compareTo(e2) == 0) == (e1.equals(e2)) subSet(E fromElement, E toElement) TreeSet() ausgeglichener Binärbaum logarithmische Zugriffszeiten Collections Arrays Java Generics Java Collections API (Sorted)Map Interface Abbildung von Key auf Value Key Set, Value Collection und Key-Value Set Implementierungen: TreeMap HashMap Collections Arrays Java Generics Java Collections API java.util.Collections Algorithmen auf Listen shuffle(), rotate(), sort() binarySearch() auf sortierter Liste unmodifiableCollection, unmodifiableList, ... synchronizedCollection, synchronizedList, ... Collections Arrays Java Generics Java Collections API Collections Collection Map HashMap Set List Queue SortedMap HashSet ArrayList Deque TreeMap SortedSet TreeSet LinkedList ArrayDeque Collections