持有对象
添加一组元素
Collections.addAll()方法接受一个Collection对象,以及一个数组或者一个逗号分隔符列表,将元素添加到Collection中。推荐使用此方法。
Arrays.asList()方法接受数组或列表,但是其返回的对象类型List并不是java.util.List,而是Arrays内的一个静态内部类,没有add()和remove()方法。
List
List在Collection中添加了大量方法,可以在List中间插入和移除元素
类型
ArrayList:长于随机访问元素,但是在List中间插入和移除元素较慢
LinkedList:在中间插入和删除操作代价较低,提供了优化的顺序访问,但是随机访问相对较慢
部分方法
remove():此方法接受元素类型对象(调用其equals()方法)或者在List中的序号,来删除指定元素。注意如果List中元素为Integer类型时,删除值为x的方式为remove((Integer) x)而不是remove(x),后者会删掉序号为x的元素。
subList():获取子列表
containsAll():是否包含参数序列中所有的值。与参数顺序无关。
retainsALL():参数为另一个List,求两个List交集,结果保存在调用对象里。
LinkedList
- 实现了
List的基本接口,添加了可以使其用作栈、队列或双端队列的方法。
Stack
Set
类型
HashSet:使用散列函数实现,查找速度较快
TreeSet:基于红黑树实现
LinkedHashSet:同样使用散列函数实现,但同时用链表维护了元素插入顺序
Map
Queue
offer():在允许的情况下将一个元素插入队尾,或者返回false。
PriorityQueue:使用offer()插入时会对元素进行排序。默认顺序是元素在队列中的自然顺序,可通过修改Comparator来修改顺序。
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.