- 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 动态数组

contains();
size();  - LinkedList 双向链表数组
   - StringBuilder常用方法 
 
   - append(String str)/append(Char c); 
 - toString(); 
 - setCharAt(int i, char c); 
 - length(); 
 - charAt();