面向Google刷题 · 二阶段:数组 & 字符串 & 字符 & Math & 位运算

39 阅读1分钟

数组

  • Arrays.sort():排序

一个参数:默认按自然顺序排,如 1 2 3
两个参数:支持自定义比较器
三个参数:自然排序但可以设置排序范围,from to

  • Arrays.fill():预填充

int数组填充 -1
char数组填充 ‘.’

  • length:数组长度

手撕时注意和字符串区分,数组的长度是属性、字符串的长度是方法

字符串

  • substring():截取字符串

一个参数:beginIndex
两个参数:beginIndex、endIndex

  • toCharArray():转char数组

forEach遍历使用较多

  • chatAt():获取某个下标的char

fori遍历使用较多

  • length():获取长度
  • split():按正则分割成字符串数组

按空格拆分字符串

  • String.join():将字符串数组拼接成字符串

字符串数组用空格拼接,代替StringBuilder.append(" ")
String message = String.join("-", "Java", "is", "cool");
// message returned is: "Java-is-cool"

List strings = List.of("Java", "is", "cool");
String message = String.join(" ", strings);
//message returned is: "Java is cool"

Set strings = new LinkedHashSet<>(List.of("Java", "is", "very", "cool"));
String message = String.join("-", strings);
//message returned is: "Java-is-very-cool"

  • trim():去除前后空格
  • String.valueOf():其他类型转字符串

String.valueOf(123) -> "123"

  • replace()/replaceFirst():替换匹配到的所有/首个字符串/字符
  • startsWith()/endsWith():判断开始结束的字符串
  • indexOf()/lastIndexOf():判断子字符串首次/最后出现的下标
  • equals():判断是否相等

字符

  • Character.isDight():是否是数字
  • Character.isLetter():是否是字母
  • 关键字符对应的int值

'A' -> 65
'a' -> 97
'0'-> 48

Math

  • Math.max()/Math.min():最大/最小值
  • Math.abs():绝对值
  • Math.ceil():向上取整
  • Math.floor():向下取整

位运算

  • ^:异或

两个相同的值异或后得0
0和任意数异或得任意数
1和任意数异或得任意数取反

用途:
1.只出现一次的数