标题

java集合框架

java集体框架心得 java集合框架的基本接口_集合框架


1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。

2. 集合接口:6个接口,表示不同集合类型,是集合框架的基础。

3. 抽象类:5个抽象类,对集合接口的部分实现。可扩展为自定义集合类。

4. 实现类:8个实现类,对接口的具体实现。

5. Collection是Iterable的儿子,而Set和List是Collection的儿子,可以说是Iterable的孙子

6. Map接口是键-值对象,与Collection接口以及Iterable没有什么关系。

Iterable接口
1.可以增加for循环,同时想要实现Iterable接口的集合类必须提供一个iterable的方法,返回值为Iterable
2.里面的方法为:hasNext():是否存在下一项
next():获取下一项
remove:移除下一项
Collection接口
1.属于java.util包里面的
2.集合框架的顶级框架
3.是Set和List的父接口
4.但不是map的父接口
5.里面的方法:
size:返回集合中的项数
isEmpty():判断集合中是否为空
contains(Object):判断集合是否包含某项
clear():
add():从集合中添加
remove(Object):移除某项
iterator():遍历集合
注:Collection里面的集合和remove(Object)和Iterable中的remove比较起来,Iterable的remove性能更加好点,同时容错方面也比Collection里面的要好

List接口
1.特点:有序,对象可以重复
2.List又分为ArrayList和LinkedList和Vector。
ArrayList:查询速度最快,同时以连续的空间存储数据。
LinkedList:增删改速度快,同时以链表的结构存储数据。
3.相对于ArrayList来说,Vector线程是安全的,也就是说是同步的,而ArrayList是异步的
4.如果想在遍历List时删除其中一个元素,可以使用迭代器

Set接口
1.特点:无序,对象不可以重复
2.set中又分为HashSet和TreeSet以及LinkedHashSet
HashSet:速度最快,无序,可以放入null,但是只能放一个
TreeSet:按照升序保存对象
LinkedHashSet:按照顺序保存对象

Queue接口:
1.特点:先进先出
2.Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

Map
1.特点:无序,以键值对的形式添加元素,键不能重复,值可以重复。
2.遍历:
2.1:先取出保存所有键的Set,在遍历Set。
2.2:先取出保存所有Entry的set,在遍历set。