java中常用的数据结构
- 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队列
offer()、poll()、peek()
获取头元素的方法- 获取并移除
remove() 获取并移除此队列的头,如果此队列为空,则抛出NoSuchElementException异常- 获取但不移除
element() 获取队列的头但不移除此队列的头。如果此队列为空,则将抛出NoSuchElementException异常- 添加元素的方法
add() 将指定的元素插入此队列- Stack 栈
push()、pop()、peek()、empty()- ArrayList 动态数组

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