天天看点

Java集合小归纳

Java.lang.Object |——Collection |——List:元素是有序的,元素可以重复,因为该集合体系有索引。      |——ArrayList:底层的数据结构使用的是数组数据结构,查询快增删慢,线程不同步。      |——LinkedList:底层的数据数据结构是链表数据结构,查询慢增删快。      |——Vector:底层是数组数据结构。线程同步。被ArrayList替代了。 |——Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复      |——HashSet:底层数据结构是哈希表。HashSet通过元素的两个方法,hashCode和equals来保证 元素的 唯一性。如果元素的hasnCode相同,才会判断 equals是否为true。如果元素的hashCode值不同,不会 调用equals。 注意:对于判断元素是否存在以及删除等操作,依赖的方 法是元素的hashCode和equals方法。ArrayList依赖的方 法只有equals。     |——TreeSet:以对Set集合中的元素进行排序。排序时,当主要条件 相同,一定要比较次要条件。底层 数据结构是二叉树,保 证元素唯一性的依据是compareTo方法return 0。 |——Map |——HashMap |——TreeMap