1 / 34

Java Collections Framework

Java Collections Framework. A presentation by Eric Fabricant. What is it?. “The Collections Framework provides a well-designed set of interfaces and classes for storing and manipulating groups of data as a single unit, a collection.” -java.sun.com. So what?.

jsolorio
Download Presentation

Java Collections Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Collections Framework A presentation by Eric Fabricant

  2. What is it? “The Collections Framework provides a well-designed set of interfaces and classes for storing and manipulating groups of data as a single unit, a collection.” -java.sun.com

  3. So what? Well, The framework provides a convenient API to many of the abstract data types familiar to computer science: maps, sets, lists, trees, arrays, hashtables and other collections.

  4. What does it look like?

  5. The Basics simple, but not really. • Set • List • Map

  6. What makes a Set a Set? No duplicate elements are allowed, such that e1.equals(e2) is true.

  7. More on Sets The Set Interface extends the Collection Interface. AbstractSet implements Set and extends AbstractCollection AbstractSet is a convenience class that contains basic concrete implementation.

  8. Types of Sets • HashSet • LinkedHashSet • TreeSet

  9. HashSet Implements the Set interface, backed by a hash table (actually a HashMap instance). Makes no guarantees as to the iteration order of the set. It does not guarantee that the order will remain constant over time. Permits the null element.

  10. LinkedHashSet Extends HashSet. Implements doubly-linked list. Can retrieve elements based on insertion-order. Less efficient than HashSet.

  11. TreeSet Extends AbstractSet, implements SortedSet Elements can be kept in acscending order according to compareTo() or compare() All elements must be comparable.

  12. Any questions?

  13. What makes a List a List? Duplicate elements are allowed and position-oriented operations are permitted.

  14. More on Lists The List Interface extends the Collection Interface. AbstractList implements List and extends AbstractCollection AbstractList is a convenience class that contains basic concrete implementation.

  15. Types of Lists • ArrayList • LinkedList • Vector • Stack

  16. ArrayList Extends AbstractList Auto-resizeable. Based on a simple array. Permits the null element.

  17. LinkedList Extends AbstractSequentialList, which extends AbstractList Similar to ArrayList Different implementation based on nodes that contain data and links to other nodes.

  18. Nodes In Action

  19. Vector Similar to ArrayList Contains synchronized methods.

  20. Stack Extends Vector “Last in, First Out” behavior Contains methods to allow typical Stack behaviors. (ie: push(), pop(), etc. )

  21. Any questions?

  22. What makes a Map a Map? The collection is kept in key/value pairs. Any object can be a key or value. No duplicate keys allowed.

  23. More on Maps The Map Interface does not extend the Collection Interface. AbstractMap implements Map and does not extend AbstractCollection AbstractMap is a convenience class that contains basic concrete implementation.

  24. Types of Maps • TreeMap • HashMap • LinkedHashMap

  25. TreeMap Implements SortedMap, extends AbtractMap Keys can be kept in acscending order according to compareTo() or compare()

  26. HashMap Implements SortedMap, extends AbstractMap Permits the null element. Makes no guarantees as to the iteration order of the set.

  27. More HashMap It does not guarantee that the order will remain constant over time. Can retrieve elements based on insertion-order or access order.

  28. LinkedHashMap Extends Hashmap Implements doubly-linked list.

  29. Any questions?

  30. Collections Class • Contains static methods for operating on collections and maps. • Quite usefull :-)

  31. Arrays Class • Contains static methods sorting and searching arrays, comparing arrays, and filling array elements.

  32. Additional Info • Synchronized Collection classes can be found in java.util.Collections

  33. ( the end )

  34. Credits Material Adapted from: Java Programming, 5th ed. by Y. Daniel Liang & Java.sun.com

More Related