Collections - Datamining und Sequenzanalyse

Werbung
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
Herunterladen