Upgrade to Pro — share decks privately, control downloads, hide ads and more …

collections in JDK (beta)

Kengo TODA
August 20, 2012

collections in JDK (beta)

To explain the basic collection in JDK

Kengo TODA

August 20, 2012

Transcript

12 slides
  1. ArrayList<T> It just wraps an array Good to #get(int): O(1)

    Bad to #remove(int), #contains(T) : O(n)
  2. LinkedList<T> Simple bidirectional list It costs more Java heap than

    ArrayList Good to #remove(0), #add(0, T): O(1) Bad to #get(int), #contains(T) : O(n)
  3. How to choose? ArrayList: Stack When we needs random access

    LinkedList: Queue (Deque) When we call #remove(int) frequently
  4. HashMap<K, V> It use hash table to manage key We

    have to implement #hashCode() correctly It does not implement SortedMap interface
  5. TreeMap<K, V> It use red-black tree to manage key We

    have to implement Comparable or Comparator correctly It implements SortedMap
  6. LinkedHashMap<K, V> A subclass of HashMap It has bidirectional list

    to memory insertion- order (or access-order) It does not implement SortedMap interface
  7. How to choose? HashMap Standard use TreeMap When we have

    to use ordering LinkedHashMap When we have to memory insertion-order

More Decks by Kengo TODA

Other Decks in Technology