11章-持有对象(笔记)

一、java 容器类类库的用途是“保存对象”,并将其划分分两个不同的概念

1、Collection 一个独立的元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,Set不能有重复元素,Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)

2、Map 一组成对的“键值对”对象,允许你使用键来查找值。

常用容器类型的分类和特点的总结如下表所示:

Collection

(一个独立的元素的序列)

List

(List必须按照插入的顺序保存元素)

ArrayList

(ArrayList随机访问效率比较高)

  

LinkedList

(LinkedList插入或删除元素效率比较高)

 

Set

(Set不能有重复元素)

HashSet

(HashSet提供最快的查询速度)

  

TreeSet

(TreeSet保持元素处于排序状态)

  

LinkedHashSet

(LinkedHashSet以插入顺序保存元素)

 

Queue

(Queue按照排队规则来确定对象产生的顺序)

 各种Queue以及栈的行为,由LinkedList提供支持

Map

(一组成对的“键值对”对象,允许你使用键来查找值)

 

HashMap

(HashMap设计用来快速访问)

  

TreeMap

(TreeMap保持“键”始终处于排序状态,所以没有HashMap快)

  

LinkedHashMap

(LinkedHashMap可以保持元素插入的顺序,也通过散列提供了快速访问能力)

注释:像Vector、Hashtable和Stack 等过时的类应该避免使用,当然Stack完全可以利用LinkedList来实现。

 

二、java常用容器分类图

 

1、点线框表示接口,实线框表示普通的(具体的)类。带有空心箭头的点线表示一个特定的类实现了一个接口,实心箭头表示某个类可以生成箭头所指向类的对象。例如,任意的Collection可以生成Iterator,而List可以生成ListIterator(也可以生成普通的Iterator,因为List继承自Collection)

2、从上图可以看出Map接口和Collection是两个完全独立的分支,Map和Collection之间唯一的重叠就是Map可以使用entrySet()和values()方法来产生Collection。(或者通过keySet()方法来产生Collection)
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值