集合中最常见的三种集合类型List、Set、Map。
List常用的两种实现类ArrayList、LinkedList
ArrayList: 动态数组结构,能够扩容改变容器大小,因为数组是不能改变容器大小
DEFAULT_CAPACITY: 默认容器大小,10
add方法:如果超出容器大小,扩容一波,扩容1/2
get方法:根据容易下标获取元素。
LinkedList: 链表结构,item=>节点本身, next = > 指向下一个节点 , prev = > 指向前一个节点
add方法:新增一个节点,最后一个节点下一个节点指向新建的节点,所有插入、删除效率比较快
get方法:如果下标小于集合size的一半,从前往后找;如果下标大于集合size的一半,从后往前找;所以集合首尾查询效率比较高。
HashSet: 不允许重复的值
add方法:调用hashMap的putVal方法,value为null
HashMap: 参见链接https://tech.meituan.com/java-hashmap.html