List集合
List接口的特点:
1.List集合是有下标的
2.List集合是有顺序的
3.List集合可以存放重复的数据
List接口的两个常用实现类
ArrayList的特点:
1)底层的数据结构是数组,内存空间是连续的
2)元素有下标,通常可以根据下标进行操作
3)增删操作比较慢,查询操作比较快【数据量大时】
LinkedList的特点:
1)底层的数据结构是链表,内存空间是不连续的
2)元素有下标,但是通常首尾节点操作比较多
3)增删操作比较快,查询操作比较慢【数据量大时】
注意:LinkedList查询慢也不是都慢,首尾操作还是比较快的
Map接口
Map接口的特点:
1.map集合的结构是:键值对、KEY与VALUE、Map.Entry<K,V>的映射关系
2.map中key值不允许重复,如果重复,对应的value会被覆盖
3.map中的映射关系是无序的
4.map没有自己的迭代器,所以迭代时通常需要转成set集合来迭代
Set接口
Set接口的特点:
1.set集合没有重复的元素
2.set集合的元素是无序的
3.set集合可以存null值,并且null最多有一个
4.我们自定义对象如果想去重,需要在自定义类中添加重写的equals()与hashCode()