有两个大接口: Collection和Map。 元素集合和键值对的集合。 其中,List和Set接口继承了Collection接口,一个是有序元素的集合,另一个是无序元素的集合; 另一方面,ArrayList和LinkedList实现列表接口,HashSet实现Set接口,它们比较常用; HashMap和HashTable实现了Map接口,HashTable是线程安全的,但HashMap的性能更好。
java.util.Collection [I]
|—java.util.List [I]
|—java.util.ArrayList [C]
|—java.util.LinkedList [C]
|—java.util.Vector [C]
|—java.util.Stack [C]
|—java.util.Set [I]
|—java.util.HashSet [C]
|—java.util.SortedSet [I]
|—java.util.TreeSet [C]
java.util.Map [I]
|—java.util.SortedMap [I]
|—java.util.TreeMap [C]
|—java.util.Hashtable [C]
|—java.util.HashMap [C]
|—java.util.LinkedHashMap [C]
|—java.util.WeakHashMap [C]
Java集合类的最基本接口如下:
Collection :单列集合根接口
(List )元素可以有序地重复
ArrayList :就像一个可变长度的数组。 它适合查询,不适合添加或删除
链接列表:最低层是双向循环链表。 适用于添加删除。 不适合查询。
Set :要素无序,不能重复
HashSet :根据对象的哈希值确定元素在集合中的位置
TreeSet:以二叉树的形式存储元素,并对集合中的元素进行排序
Map )双列集合的根接口。 存储具有关键帧(key )和值)映射关系的元素。
HashMap :用于保存键-值映射关系。 密钥key不能重复
TreeMap :用于存储键值映射关系。 请勿出现重复的密钥key。 所有的钥匙都像二叉树一样排列