HashMap

  1. value++

Map hash = new HashMap<>();
hash.put(cur,hash.getOrDefault(cur,0)+1);

  1. HashMap<Integer,Integer> map = new HashMap<>();
  2. map.get()
  3. map.getOrDefault(cur,defaultValue):如果cur不存在,则返回默认值
  4. map.put()
  5. map.putIfAbsemt():如果不存在就插入
  6. value++
  7. map.put(cur,map.getOrDefault(cur,0)+1);
  8. //遍历
  9. for(Map.Entry<Integer,Integer> entry:map.entrySet()){
  10. int k = entry.getKey();
  11. int v = entry.getValue();
  12. }

String

StringBuilder

StringBuilder sb = new StringBuilder();
追加:append,sb.append(1)
删除:delete(0,3)
删除某个字符:deleteCharAt(sb.length()-1),删除最后一个字符串

String 和 Int转换

  1. String s = "12312";
  2. int i = Integer.valueOf(s).intValue();
  3. int i = Integer.parseInt(s);

数组

  1. Arrays.sort(arr, new Comparator<Integer>() {
  2. @Override
  3. public int compare(Integer o1, Integer o2) {
  4. return o1-o2;//升序
  5. return o2-o1;//降序
  6. }
  7. });

集合

  1. # 集合
  2. ArrayList<Integer> list = new ArrayList<>();
  3. list.get()
  4. list.add()
  5. list.remove()
  6. list.size()
  7. list.isEmpty()
  1. Collections.sort(list, new Comparator<Integer>() {
  2. @Override
  3. public int compare(Integer o1, Integer o2) {
  4. return o1-o2;//升序
  5. return o2-o1;//降序
  6. }
  7. });

集合转数组

  1. ArrayList list = new ArrayList();
  2. Integer[] arr = new Integer[list.size()];
  3. list.toArray(arr);

数组转集合

  1. 1. 遍历
  2. 2. asList(),有局限性
  3. list = Arrays.asList(arr)

队列

  1. Stack<Integer> stack = new Stack<>();
  2. stack.peek()
  3. stack.push()/add()
  4. stack.pop()/remove()
  5. stack.empty()
  6. Queue<Integer> queue = new LinkedList<>();
  7. queue.peek()
  8. queue.offer()/add()
  9. queue.poll()/remove()
  10. queue.isEmpty()
  11. Deque<Integer> deque = new LinkedList<>();
  12. deque.peekFirst()/getFirst()
  13. deque.peekLast()/getLast()
  14. deque.offerFirst/addFirst()
  15. deque.offerLast/addLast()
  16. deque.pollFirst()/removeFirst()
  17. deque.pollLast()/removeLast()
  18. PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>() {
  19. @Override
  20. public int compare(Integer o1, Integer o2) {
  21. return o1-o2;//小根堆,默认
  22. return o2-o1;//大根堆
  23. }
  24. });
  25. pq.peek()
  26. pq.offer()/add()
  27. pq.poll()/remove()
  28. pq.isEmpty()

集合

  1. Set<Integer> set = new HashSet<>();
  2. set.add()
  3. set.remove()
  4. set.contains();
  5. set.isEmpty();