Collection和Collections

 

Collection下的三大接口

Set:集合,无序,不允许相同的元素

Queue:队列,先进先出

List :有序的

需要注意的是LinkedList既实现了List接口也实现了Queue接口。

Queue:

boolean offer(E e): 将指定的元素插入此队列

E poll(): 获取头部元素并且删除元素,队列为空返回null;

E peek(): 获取队列头部元素却不删除元素,队列为空返回null

不推荐使用

boolean add(E e) 和E remove(): 获取头部元素并且删除元素,因为在无法删除或增加的情况下会抛异常

Deque子接口与ArrayDeque类

Deque代表一个双端队列,可以当作一个双端队列使用,也可以当作“栈”来使用,因为它包含出栈pop()与入栈push()方法。

ArrayDeque类为Deque的实现类,数组方式实现。方法有:

  • addFirst(Object o):元素增加至队列开头
  • addLast(Object o):元素增加至队列末尾
  • poolFirst():获取并删除队列第一个元素,队列为空返回null
  • poolLast():获取并删除队列最后一个元素,队列为空返回null
  • pop():“栈”方法,出栈,相当于removeFirst()
  • push(Object o):“栈”方法,入栈,相当于addFirst()
  • removeFirst():获取并删除队列第一个元素
  • removeLast():获取并删除队列最后一个元素

注意:ArrayList和Vector

  • 默认初始容量都是10
  • 底层实现都是数组
  • ArrayList不是线程安全的,速度快,Vector是线程安全的,速度慢
  • 扩容:ArrayList是原来的1.5倍,Vector是原来的两倍

Collection是一个集合接口,Collections是集合类的工具类提供sort(),reserve()等一系列方法。

ArrayList<Integer> list = new ArrayList<>();

list.add(2);

list.add(3);

Collections.sort(list);

参考:https://www.cnblogs.com/nayitian/p/3266090.html

原文地址:https://www.cnblogs.com/moxia1234/p/11387012.html