一、概述

  • Collection接口API
  • Collection子接口之一:Set接口
    HashSet LinkedHashSet
  • TreeSet Collection子接口之二: List接口
    ArrayList LinkedList Vector
  • Map接口
    HashMap TreeMap Hashtable
    二、两个体系
    Java 集合可分为 Collection 和 Map 两种体系
  • Collection接口:
    Set:元素无序、不可重复的集合
    List:元素有序,可重复的集合
  • Map接口:具有映射关系“key-value对”的集合

(1) Collection 接口继承树
JAVA基础 | java集合
(2)Map接口继承树
JAVA基础 | java集合
三、Collection 接口
Collection 接口是 List、Set 和 Queue 接口的父接口
Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。
(1)List接口
List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。
List接口的实现类常用的有:ArrayList、LinkedList和Vector
1)ArrayList
ArrayList是对象引用的一个变长数组;
ArrayList 是线程不安全的,而 Vector 是线程安全的。
2)LinkedList
对于频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高
3)Vector
Vector 是一个古老的集合,大多数操作与ArrayList相同,区别之处在于Vector是线程安全的。
(2)set接口
Set接口是Collection的子接口,set接口没有提供额外的方法。
Set 集合不允许包含相同的元素。
1)HashSet
HashSet 按 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能。
2)LinkedHashSet
LinkedHashSet 是 HashSet 的子类
LinkedHashSet 根据元素的 hashCode 值来决定元素的存储位置,但它同时使用链表维护元素的次序,这使得元素看起来是以插入顺序保存的。
3)TreeSet
TreeSet 是 SortedSet 接口的实现类,TreeSet 可以确保集合元素处于排序状态。
四、Map接口
用于保存具有映射关系的数据:Key-Value
Map接口的常用实现类:HashMap、TreeMap和Properties。
(1)HashMap

(2)LinkedHashMap
LinkedHashMap 是 HashMap 的子类
(3)TreeMap
(4)Hashtable
与HashMap不同,Hashtable 不允许使用 null 作为 key 和 value
(5)Properties
Properties 类是 Hashtable 的子类,该对象用于处理属性文件

相关文章: