栈的使用
package Test09;
import java.util.*;
public class TestLeetcode {
public static void main(String [] args) {
Stack<Integer> stack = new Stack<>();
stack.push(20);
stack.push(10);
stack.push(30);
for (Integer number : stack) {
System.out.println(number);//stack是用vector实现的,而iterator是vector类的方法,所以是顺序的
}
while (!stack.isEmpty()) {
System.out.println(stack.peek());
stack.pop();
}
}
}
优先队列的使用
package Test09;
import java.util.Comparator;
import java.util.Iterator;
import java.util.PriorityQueue;
public class TestPriority_queue {
public static void main(String []args){
PriorityQueue<Node> queue = new PriorityQueue<>(new Comparator<Node>() {
@Override
public int compare(Node o1, Node o2) {
return o2.val-o1.val;
}
});
queue.add(new Node(7));
queue.add(new Node(10));
queue.add(new Node(-4));
for(Node node:queue)
System.out.print(node);
while(!queue.isEmpty()) {
System.out.print(queue.peek());
queue.poll();
}
}
}
class Node implements Comparable<Node>{
int val;
Node(int val){
this.val = val;
}
public String toString(){
return val+" ";
}
@Override
public int compareTo(Node o) {
return val-o.val;
}
}