java学习小笔记(一.容器)

积累~

一,容器
1. 在使用linkedList时,提供了实现移除顶部元素的几种方法,记住一点:使用getFirst()和element()时,当list为空时,将抛出noSuchElement Exception,可以用peek()方法替代,当类表为空时返回null,类似的还有poll(),offer()方法

2.stack(栈)是类,而且实现了list和继承了vector,他的规则是lifo,后进先出。  区分queue(队列),是fifo先进先出,他是一个接口。无需建立stack的事例,可以使用linkedList,里面包含了用作栈,队列,双向队列的方法(linkedList同时实现了set ,list,queue接口,超强大耶 )。vector,hashable,stack已经过时了,没必要再去使用它

3.hashSet是获取元素最快的集合,不过他是按照hash算法排序的,同样地,hashMap可以提供快速访问的键值对,treeMap的键按树是排序的故没有hashMap快,linkedHashMap是按插入循序排序的,集合了既快速访问又有序的优点

4.jdk1.5新增的priorityQueue ,元素可以按照优先级排序,除了自然排序,可以定义自己的comparator来排序

5.实现了map接口的如hashMap,treeMap,linkedHashMap不能直接使用foreach,因为他们都不是实现了iterable(可迭代)的,但jdk1.5提供了entrySet()方法,可把他们转变为一个set类型,具体是set<Map.entry<k,v>>,set是一个collection,可以进行迭代。另外,map向collection过度还有keyset()和values()方法,没有提供向数组转换的直接方法,只能先转为collection再调用toArray(collection<T>)进行转换

6.listIterator是Iterator的实现,他的扩展是能够使用previous向前索引,还有hasPrevious方法

7.java容器简单分类图
    



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值