1 Arrays.asList可把一个数组和一组用逗号隔开的元素组变成一个Arraylist,这个Arraylist是个视图,不能改变size,但是可以修改元素
2 Collection.addAll只接受Collection参数,而Collections.addAll接收参数列表
3 class Snow {}
class Powder extends Snow {}
class Light extends Powder {}
class Heavy extends Powder {}
class Crusty extends Snow {}
class Slush extends Snow {}
List
List
4 hash容器是最优查找算法,tree是升序排序,linked是按照插入顺序排序
5 容器打印,Collection 和 Map接口直接可以打印
6 ArrayList擅长随机访问元素,linkedList擅长插入元素
_____________________________________________________________________________________________________
7 迭代器统一了对容器的访问方式
8 ArrayList 的 ListIterator.
List.listiterator()方法。默认先指向第一个元素的前一个位置,这方法可以带参数,改变第一次指向的位置
Iterator的hasnext()判断是否具有下一个元素,Iterator.next()返回下一个元素,并且把位置下移一个位置
Iterator.nextIndex()返回当前位置的下一个索引值;,Iterator.previousIndex()返回当前元素的索引值
Iterator.set()可以修改当前指向元素的值
9 LinkedList 的 ListIterator.
LinkedList 得到第一个元素的方法,有getFirst(),element()和peek()方法,区别是,当为空是,peek返回的是null,其他两个函数报告异常
LinkedList 删除第一个元素的方法,removeFirst(),remove()和poll()方法,都返回删除的那个元素,只是当为空是,poll返回null.其他报告异常
LinkedList 在表头增加一个元素的方法,addFirst()和add()和offer(),区别是addFirst()返回void,而后两者返回boolean
LinkedList 得到最后一个元素,有getLast()
LinkedList 删除最后一个元素,有removeLast(),返回删除的元素
LinkedList 添加最后一个元素,有addLast() ,返回void
LinkedList 可以当做Queue来处理,其增 删 查相应接口是offer remove,,poll 和peek element
LinkedList 也可以单做Stack来处理,增 删 查相应接口是push peek和pop方法
_____________________________________________________________________________________________________
10 Queue
LinkedList实现了Queue接口
PriorityQueue优先级队列,当挑用remove poll 和peek时获取的是优先级最高的元素,
PriorityQueued对String Integer和 Character类型做了优先级排序,用户如果需要自定义优先级,则需要Comparetor协助。
new PriorityQueue(int size,Collections.reverseOrder())可以把序列反序____________________________________________________________________________________________________
11 数组和Collection都可以用forreach遍历,但是数组不能当做Iterator参数传递