1,String转Int
Integer.parseInt(String)#返回原始的int值
Integer.valueOf(String)#返回Integer类的对象
2,Int转String
Integer.toString(i)
String.valueOf(i)
""+i
3,判断char是不是数字
Character.isDigit();
4,判断char是不是字母
Character.isLetter();
5,String转大小写
String str = "aaBBcc";
str = str.toUpperCase();
str = str.toLowerCase();
Character.isUpperCase(char);
Character.isLowerCase(char);
6,Char转String
String.valueOf(c);
7,HashMap按value排序
leetcode-451
Map<Character, Integer> map = new HashMap<>();
List<Character> list = new ArrayList<>(map.keySet());
Collections.sort(list,(a,b)->map.get(b)-map.get(a));
Collections.sort()用法pro
Collections.sort(dictionary,(a,b)->{
if(a.length()==b.length()) return a.compareTo(b);
else return b.length()-a.length();
});
8,String替换
标点符号要加双斜杠
s = s.replaceAll("\\,"," ");
9,List排序
List<Integer> list = new ArrayList<>();
Collections.sort(list,(a,b)->b-a);
10,Double保留n小数位
//1
sum = (double) Math.round(sum * 100000) / 100000;
//2 这个貌似很慢。。
String a_str = String.format("%.5f", sum);
sum = Double.parseDouble(a_str);
11,栈的实现
1,LinkedList
LinkedList<String> stack = new LinkedList<>();
stack.push("1");
stack.push("2");
stack.push("3");
System.out.println(stack.get(0));
System.out.println(stack.get(1));
System.out.println(stack.get(2));
结果
3
2
1
2,Stack
Stack<String> stack = new Stack<>();
stack.push("1");
stack.push("2");
stack.push("3");
System.out.println(stack.get(0));
System.out.println(stack.get(1));
System.out.println(stack.get(2));
结果
1
2
3
3,Deque
Deque<String> stack = new ArrayDeque<>();
stack.push("1");
stack.push("2");
stack.push("3");
System.out.println(stack.getFirst());
System.out.println(stack.getLast());
结果
3
1
12,compareTo方法
13,复制数组
左闭右开
Arrays.copyOfRange(T[ ] original,int from,int to)
14,TreeSet
Leetcode 220
TreeSet<E> set = new TreeSet<>();
floor(E e) 方法返回在这个集合中小于或者等于给定元素的最大元素,如果不存在这样的元素,返回null.
ceiling(E e) 方法返回在这个集合中大于或者等于给定元素的最小元素,如果不存在这样的元素,返回null.
add(E e) 添加元素
remove(E e) 删除元素
15,二维数组排序
int[][] a = {{5,4},{6,4},{6,7},{2,3},{2,4}};
Arrays.sort(a, new Comparator<int[]>(){
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0]!=o2[0]) return o1[0]-o2[0];//升序
else return o2[1]-o1[1];//降序
}
});