s.length();
s.charAt(i);
for (int i = 0; i < s.length(); i++);
//可以改写成for (char c : s.toCharArray());
StringBuilder res = new StringBuilder();
res.append(c);
res.toString();
s1.equals(s2);
//字符串的比较不能用==,而是用equals方法
HashMap<Character, Integer> map = new HashMap<>();
hashmap.getOrDefault(Object key, V defaultValue);
//getOrDefault() 方法获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。
map.put(s.charAt(i), i);
map.containsKey(s.charAt(i)); //return boolean
map.get(s.charAt(i)); //return I
map.put(c, map.getOrDefault(c, 0) + 1);
//获取字符c的对应value或者c不在map,把c放到map并设置初始值1
Queue<TreeNode> q = new LinkedList<>();
Queue<TreeNode> queue = new ArrayDeque<>();
queue.add(); //在队列的最后面添加元素
queue.size(); //返回queue中元素个数
queue.poll(); //返回queue的最前端元素
!queue.isEmpty(); //queue不为空时
List<List<Integer>> res = new ArrayList<>(); //二维动态数组
List<Integer> res = new ArrayList<>();
res.add(node.val);
res.get(i); //返回res第i位的数值
res.size();
//用Linkedlist实现stack
LinkedList<Integer> stack = new LinkedList<Integer>();
stack.addLast(head.val);
stack.removeLast();
//用ArrayDeque实现stack
Deque<Integer> stack = new ArrayDeque<Integer>();
stack.push(value);
stack.isEmpty();
stack.pop();
stack.peek(); //返回栈顶元素,但是不弹出
Stack<Treenode> stack = new Stack<>();
stack.push();
stack.pop();
!stack.isEmpty(); //stack不为空时
int[] list = new int[26];
++list[s.charAt(i) - 'a']; //字母对应的位置+1
TreeNode node = new TreeNode(-1);
Arrays.copyOfRange(int[], int from…, int to…);
//Arrays.copyOfRange(arr, 0, k);
Arrays.sort(arr);
for (int i = 0; i < nums.length; i++); //等价于
for (int num : nums);
HashSet<ListNode> set = new HashSet<>();
set.contains(node);
set.add(node);