List集合—有序的集合,允许重复的元素,可以理解为对象数组,Connection的子接口,只不过是可变长度的,可以动态的增加和减少,他有两个比较常用的实现类ArrayList和LinkedList,两者方法大致相同,性能有一定的差异
Arraylist:动态数组实现List、查询效率高
LinkedList:链条实现的List接口、删除和新增的效率高
Set集合—无序不重复的Collection框架子接口,主要实现类有HashSet和TreeSet
HashSet:不允许出现重复元素、允许插入null值、元素无序
TreeSet:
对插入的元素进行排序,是一个有序的集合
底层使用红黑树结构,而不是哈希表结构;
不允许插入null值、不允许插入重复元素
需要注意:.
不能通过get方法获取数据
对于插入的是对象类型,需要重写equals()和hashCode
.插入原则:根据hashCode确定元素在集合中的位置,如果hashcode值相同, 则equals比较内容,如果都一样,覆盖掉之前的元素
Map集合—键值对映射集合,每个Key,映射一个Value,key是唯一的
数组和集合的区别:数组的长度是固定的不可变得,集合的长度是可变的不固定