List集合
什么是List接口?
1.有序集合(也称为序列 )、列表。 该接口API可以精确控制列表中每个元素的插**入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
2.List 接口实现了 Collection 接口,它主要有两个实现类:ArrayList 类和 LinkedList 类。在 List 集合中允许出现重复元素。与 Set 集合不同的是,在 List 集合中的元素是有序的,可以根据索引位置来检索 List 集合中的元素,第一个添加到 List 集合中的元素的索引为 0,第二个为 1,依此类推。
ArrayList和LinkedList的区别?
1.ArrayList采用了数组结构,定义了一个容量大小为10的容器;(数组结构对于查询的速度比LinkedList快!)
2.LInkedList采用了链表结构,这种结构的优点是便于向集合中插入或者删除元素。需要频繁向集合中插入和删除元素时,使用 LinkedList 类比 ArrayList 类效果高,但是 LinkedList 类随机访问元素的速度则相对较慢。
LinkedList 类除了包含 Connection 接口和 List 接口中的所有方法之外,还特别提供了所示的方法。
Set集合
Set:注重独一无二的性质,该体系集合可以知道某物是否已经存在于集合中,不会存储重复的元素。用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。
怎么判断Set集合元素重复?
每个对象都时Object的间接子类,都继承了Object的hashcode()和equals()方法,每个对象对应不同的哈希码值!只要元素的哈希码值相等,就判断时同一个元素!或者equals()返回true也判断是同一个元素
HashSet和TreeSet的区别?
怎么判断元素重复
HashSet:HashSet是哈希表实现的。
TreeSet:TreeSet是二差树实现的。
数据是否有序
HashSet:HashSet中的数据是无序的。
TreeSet:Treeset中的数据是自动排好序的,默认升序。
三、是否可以放入null值
HashSet:可以放入null,但只能放入一个null。
TreeSet:不允许放入null值。
Map集合
map集合特点就是采用了 Key-value键值对映射的方式进行存储
Key在map是唯一的,value可以重复
Map集合提供了三个集合视图
几种集合的关系如下