- List接口
有序,可重复
List接口继承自Collection接口的主要方法:
void add(int index,Object O) 向指定位置插入元素
Object get(int index) 返回集合中指定位置的元素
int indexOf(Object O) 返回集合中第一处出现的指定元素的索引,若不包含,返回-1
int lastIndexOf(Object o) 返回集合中最后一次出现的指定元素的索引,若不包含返回-1
Object remove(int index) 移除指定位置的元素
Object set(int index,Object o) 用指定的数据元素替换集合中指定位置的数据元素
ArrayList实现了List接口,在存储方式上采用数组进行顺序存储,与List不同的是,ArrayList对数组进行了封装,实现了可变长度的数组。
LinkedList在存储方式上采用链表进行链式存储
总结:
- Set接口
无序,不可重复
Set接口继承自Collection接口的主要方法:
boolean add(Object obj) 向集合中添加元素,该元素不能和集合中现有元素重复,若重复添加无效,并返回false
void clear() 集合清空
boolean contains(Object obj) 判断集合中是否包含该元素,若包含返回true
boolean isEmpty() 判断集合是否为空,若为空返回true
Iterator iterator() 返回一个iterator对象,用它来遍历集合中的数据元素
boolean remove() 若集合中包含此元素,则将其删除,并返回true
int size() 返回集合中数据元素的个数
Object[ ] toArray( ) 返回一个数组,该数组包含集合中的所有数据元素
总结:
Queue接口(可以说我平时都没用过,此处也不做详细解释)
Queue接口用于在处理元素前保存元素的Collection序列。除了具有Collection接口基本的操作外,Queue接口还提供了其它的插入、提取和检查等操作。
另一部分是Map接口,该接口定义了存储一组“键(key)值(value)”映射对的方法。Map接口里存放的是一系列键值对,key不要求有序,但不可重复,每一个key只能映射一个value值。
Map接口框架
总结:
TreeSet、LinkedHashSet和HashSet的区别?
1.TreeSet的主要功能用于排序
2.LinkedHashSet的主要功能用于保证FTFO即有序的集合(先进先出)
3.HashSet只是通用的存储数据的集合