- PriorityQueue优先队列
//定义优先队列的比较器 Comparator<String> cmp;
cmp = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return o1.val-o2.val;
}
};
//建立队列
PriorityQueue<String> q = new PriorityQueue<String>(cmp);
ArrayList<Integer> result = new ArrayList<>();
for(int i = 0; i < numbers.length; i++){
result.add(numbers[i]);
}
Collections.sort(result, new Comparator<Integer>(){
public int compare(Integer a, Integer b){
String s1 = a+""+b;
String s2 = b+""+a;
return s1.compareTo(s2);
}
});
- peek() //返回队首元素
- poll() //返回队首元素,队首元素出队列
- add() //添加元素
- offer() //添加元素
- size() // 返回队列元素个数
- isEmpty() // 判断队列是否为空, 为空返回true, 不空返回false
- Queue队列
Queue<String> queue = new LinkedList<String>();
offer()、poll()、peek()
获取头元素的方法 - 获取并移除
poll() 获取并移除此队列的头,如果此队列为空,则返回 null
remove() 获取并移除此队列的头,如果此队列为空,则抛出NoSuchElementException异常 - 获取但不移除
peek() 获取队列的头但不移除此队列的头。如果此队列为空,则返回 null
element() 获取队列的头但不移除此队列的头。如果此队列为空,则将抛出NoSuchElementException异常 - 添加元素的方法
offer() 将指定的元素插入此队列(如果立即可行且不会违反容量限制),插入成功返回 true;否则返回 false。当使用有容量限制的队列时,offer方法通常要优于 add方法——add方法可能无法插入元素,而只是抛出一个 IllegalStateException异常
add() 将指定的元素插入此队列 - Stack 栈
import java.util.Stack
push()、pop()、peek()、empty() - ArrayList 动态数组
![图片说明](https://uploadfiles.nowcoder.com/images/20200309/128682809_1583737628962_C69F2426466D337F09C74E2B2F26755A "图片标题")
contains();
size(); - LinkedList 双向链表数组
![图片说明](https://uploadfiles.nowcoder.com/images/20200309/128682809_1583737914978_FE189B44F25B61E308C4B92E74C99141 "图片标题") - StringBuilder常用方法
- append(String str)/append(Char c);
- toString();
- setCharAt(int i, char c);
- length();
- charAt();