echo

任生命穿梭 时间的角落

0%

常用集合

Java 集合 API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package test;

import java.util.*;

public class CollectionTest {

public static void testStack(){
Deque<Integer> stack = new ArrayDeque<>();

// push
stack.push(1);

// top
Integer a = stack.peek();

// pop
stack.pop();
}

public static void testQueue(){
Queue<Integer> q = new LinkedList<>();
// 队尾添加元素
q.offer(1);

// 取出队头元素
Integer a = q.poll();

// 检索队头元素
Integer b = q.peek();
}

public static void testDeque(){
Deque<Integer> deque = new LinkedList<>();
// 队尾添加元素
deque.addLast(3);
// 队头添加元素
deque.addFirst(1);

// 获取队头元素
Integer a = deque.getFirst();
// 获取队尾元素
Integer b = deque.getLast();

// 队尾删除元素
deque.removeLast();
// 队头删除元素
deque.removeFirst();

}

public static void testPriorityQueue(){

// 大根堆
PriorityQueue<Integer> q = new PriorityQueue<>((o1, o2) -> o2 - o1);

// 小根堆
// PriorityQueue<Integer> queue = new PriorityQueue<>();
// 添加元素
q.add(2);

// 查看堆顶元素和取出堆顶元素
Integer a = q.peek();
Integer b = q.poll();

// 删除堆中指定元素, 删除堆顶元素
q.remove(3);
q.remove();

}
}