基础
import java.util.*;
public class Main{
public static void main(String[] args){
......
}
}
Scanner sc = new Scanner(System.in);//输入
new Main.Solution();//static函数里面调用非static函数 类.函数
Random
Random r=new Random();
r.nextInt(a);//[0,a)
数组
new int[0][]//空数组
System
System.arraycopy(original, i, ans[i / n], 0, n);//数组复制
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
代码解释:
Object src : 原数组
int srcPos : 从元数据的起始位置开始
Object dest : 目标数组
int destPos : 目标数组的开始起始位置
int length : 要copy的数组的长度
Arrays
Arrays.sort()//排序
HashMap
Map<Character,Character> map=new HashMap(){
{
put(')','(');
put(']','[');
put('}','{');
}
};//初始化实例
map.get(key);
map.put(key,num);
map.containsKey(key);
map.keyset();//返回key的String[]集合 常用于循环
map.getOrDefault(key,0);
map.remove(key);
HashSet
set.add();
set.remove();
set.size();
set.clear();
String
s.trim();//去除前后空格
s.substring(start, start + maxLen)//左闭右开
s.indexOf(ss);//ss可以是整数也可以是字符串 返回指定字符串第一次出现的索引 没有则返回-1也可以从fromIndex开始位置
s.indexOf(ss,fromIndex);
String[] ss = s.split(" ");//字符串按照空格分开
StringBuilder
StringBuilder sb=new StringBuilder();
sb.append('(');
sb.deleteCharAt(cur.length()-1);
sb.toString();//转换成String
ArrayList
List<List<Integer>> ans = new ArrayList<List<Integer>>();//两个List的初始化方式
ans.add(new ArrayList<Integer>(t));//List<Integer> t = new ArrayList<Integer>();
Collections.swap(output, first, i);//把List两个位置的元素调换
Deque栈
Deque<Integer> d =new LinkedList();
d.isEmpty();
d.peek();
d.pop();
d.push();
Queue队列
Queue<String> q=new LinkedList();
q.offer();
q.element();
q.poll();
PriorityQueue优先队列
//优先队列 弹出最左边数
PriorityQueue<ListNode> queue = new PriorityQueue<>(new Comparator<ListNode>() {//比较器 升序
@Override
public int compare(ListNode o1, ListNode o2) {
return o1.val-o2.val;
}
});
数学
//判断是否超界
if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {
return 0;}
a^a=0;//相同数异或相乘=0
0^a=a;
n & (n - 1);//最低位移除
n&(-n);//获取最低位1
1<<n;//2^n
Scanner
scan.hasNext();
...hasNextInt();
...hasNextLine();
...next();
...nextInt;
...nextLine();
Integer
Integer.valueOf(s);//String转Integer
Character
Character.isDigit(c);//返回是否为数字