1、Collection集合:
Collection集合属于java.util工具类下的工具类集合。它里面最重要的的就是Set和List。当然也有其他接口。
2、List接口
(1)特点:
有序集合,即存取顺序相同;有索引,可用普通for循环遍历;可存储重复元素;
(2)特有方法:
void add(int index,E val)在指定位置添加指定元素
E get(int index)返回指定位置元素
E remove(int index)删除指定位置元素,并返回删除的元素
E set(int index,E element)用指定元素替换指定位置的元素,并返回旧的元素
(3)重要的实现类
LinkdeList(底层链表实现 底层不同步):多线程异步访问一个链表,不安全,但速度快
特有方法:
1、addFirst在头插入元素
2、addlast在尾插入元素
3、getfirst 4、getlast 5、removefirst 6、removelast 7、pop 8、push 9、isEmpty
ArrayList(底层数组实现 不是同步的)
3、Set接口
(1)特点:
无序;不允许存储重复元素;无索引,只能用迭代器或增强for遍历,不能用普通for循环遍历;
(2)重要实现类:
HashSet:
特点:底层是一个哈希表
无索引,不能用for;无序集合(不保证迭代顺序);底层为hash表结构(查询速度快)
LinkedHashSet:
特点:相当于HashSet的底层加了一个链表保证了元素的迭代顺序。
注:
因为Set中不允许存储重复元素,所以当自己编写的实现类要引用Set集合时,必须自己手动重写底层的hashcode(),和equlas()方法,保证Set集合的特性。