【数组序列】实现了 List 接口,内部使用 Object 数组存储:
ArrayList 构造方法
List<Integer> list = new ArrayList<>(); // 默认初始容量为 10
List<Integer> list = new ArrayList<>(100); // 自定义初始容量
List<Integer> list = new ArrayList<>(queue); // 构造时直接复制其他容器元素(可以是任何 Collection 类)
List list = new ArrayList(); // 未指定元素类型则为 Object 类Copy to clipboardErrorCopied
【链表序列】实现了 List 和 Deque 接口。内部使用双向链表存储:
LinkedList 构造方法
List<String> list = new LinkedList<>(); // 创建空对象
List<String> list = new LinkedList<>(queue); // 复制其他容器元素Copy to clipboardErrorCopied
【数组双端队列】实现了 Deque 接口。内部使用 Object 数组存储(不允许存储 null 值):
ArrayDeque 构造方法
ArrayDeque<String> queue = new ArrayDeque<>(); // 创建空对象
ArrayDeque<String> queue = new ArrayDeque<>(list); // 复制其他容器元素Copy to clipboardErrorCopied
【无界优先级队列】实现了 Queue 接口。内部使用 Object 数组存储(不允许存储 null 值):
PriorityQueue 构造方法
开发者在构造队列时可通过重写 compare 方法自定义排序规则。如果存储未重写 compareTo 方法的自定义对象,则必须重写 compare 方法。
// 默认排序方法
PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
// 自定义排序方法(Lambda 表达式)
PriorityQueue<Student> queue = new PriorityQueue<Student>((s1, s2) -> {
if(s1.getScore() == s2.getScore()){
return s1.getName().compareTo(s2.getName());
}
return s1.getScore() - s2.getScore();
});
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。