积累~
一,容器
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容器简单分类图
java学习小笔记(一.容器)
最新推荐文章于 2024-07-07 03:24:20 发布