java算法题语法
该笔记刷算法题(leetcode、洛谷、蓝桥杯)中遇到常见的小语法进行整理:
int与char互转
int num = 9;
char c = (char)num;
char ch = '9';
num = (int)ch-'0';
逆序排列
int[] arr = {1,2,3,4,5};
Arrays.sort(arr, Collections.reverseOrder());
按绝对值逆序排序
nums = IntStream.of(nums)
.boxed()
.sorted((o1, o2)-> Math.abs(o2)-Math.abs(o1))
.mapToInt(Integer::intValue).toArray();
数字求和
Arrays.stream(arr).sum()
数字和字符串的转化
- int -> String
String s = String.valueOf(i);
String s = Integer.toString(i);
- String->int
int i = Integer.parseInt(my_str);
int i = Integer.valueOf(my_str);
字符串和字符数组的相互转化
数字和字符的相互转化
int的字节比char的字节多,如果小变大即char变成int是可行的,但反之不行。因为你不可能把大的东西塞到小的容器里,只能强制类型转换。
// 小->大
int a = Integer.valueOf(c);
// 大->小
char c = (char)a;