1.java集合分为Collection和Map两种体系:
Collection接口:
Set:无序,不可重复的集合。
Set 实现类之一:HashSet(HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时都使用这个实现类。HashSet 按 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能)。
Set 实现类之二:LinkedHashSet(LinkedHashSet 是 HashSet 的子类, LinkedHashSet 根据元素的 hashCode 值来决定元素的存储位置,但它同时使用链表维护元素的次序,这使得元素看起来是以插入顺序保存的。 LinkedHashSet 不允许集合元素重复。)
Set 实现类之三:TreeSet(TreeSet 是 SortedSet 接口的实现类,TreeSet 可以确保集合元素处于排序状态。TreeSet 两种排序方法: 自然排序和 定制排序。默认情况下,TreeSet 采用自然排序。)
List:有序,可重复的集合。
List有三个实现类:ArrayList(ArrayList 是 List 接口的典型实现类,ArrayList 是线程不安全的,而 Vector 是线程安全的,即使为保证 List 集合线程安全,也不推荐使用Vector)、LinkedList(对于 频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高)、Vector(在各种list中,最好把ArrayList作为缺省选择。当插入、
删除频繁时,使用LinkedList;Vector总是比ArrayList慢,所以尽量避免使用。)Map 接口:具有映射关系“key-value对”的集合
Map 中的 key 用Set来存放, 不允许重复,即同一个Map 对象所对应的类,须重写hashCode()和equals()方法。Map接口的常用实现类:HashMap、TreeMap和Properties。
Map 实现类之一:HashMap。HashMap是 Map 接口 使用频率最高的实现类。HashMap 判断两个 key 相等的标准是:两个 key通过 equals() 方法返回 true,hashCode 值也相等。
Map 实现类之二:LinkedHashMap。 LinkedHashMap 是 HashMap 的子类。与LinkedHashSet类似,LinkedHashMap 可以维护Map 的迭代顺序:迭代顺序与 Key-Value 对的插入顺序一致。
Map 实现类之三:TreeMap。TreeMap存储 Key-Value 对时,需要根据 key-value 对进行排序。TreeMap 可以保证所有的 Key-Value 对处于有序状态。
Map 实现类之四:Hashtable。Hashtable是个古老的 Map 实现类,线程安全。
Map 实现类 之五:Properties。 Properties 类是 Hashtable 的子类,该对象用于处理属性文件。由于属性文件里的 key、value 都是字符串类型,所以 Properties 里的 key 和 value 都是字符串类型。存取数据时,建议使用setProperty(String key,Stringvalue)方法和getProperty(String key)方法