知识点
1、Java中字符串分割(split)支持正则表达式
\s 代表匹配任何空白字符
+ 表示匹配一次或者多次
匹配时需要转译一下 \\s
例如:String[] strs = str.split("\\s")
******
使用.分割字符串时
split("\\.")要注意转译问题
split("\\\\")\\
******
2、Scanner使用获取一行使用 nextLine
java.util.Scanner
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
3、字符串数组的长度 strs.length
字符串长度 str.length()
字符串的反转:
StringBuffer buf = new StringBuffer(str);
buf.reverse();
4、遍历字符串,获取字符串的每个元素
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
}
5、其他类型转String类型使用String.valueOf()
6、生成随机数常用的方法(100以内的随机数,不包括100)
Random rand = new Random();
rand.nextInt(100); 表示生成0-99的随机数
从1开始的随机数怎么弄 rand.nextInt(100)+1 表示1-100
7、进制之间的相互转化
16->10 Long.parseLong(str.substring(2), 16).toString();
8、Math向上和向下取整数
向上取整用Math.ceil(double a)
向下取整用Math.floor(double a)
9、Map的排序问题、
ArrayList<Entry<Integer, Integer>> arrayList = new ArrayList<>(map.entrySet());
Collections.sort(arrayList,new Comparator<Map.Entry<Integer,Integer>>(){
@Override
public int compare(Entry<Integer, Integer> o1, Entry<Integer, Integer> o2) {
// TODO Auto-generated method stub
return o1.getKey().compareTo(o2.getKey());
}
});
for (Entry<Integer, Integer> e: arrayList) {
System.out.print(e.getKey() + " " + e.getValue());
}
10、循环倒序输出时
判断方式:for (int i = chr.length-1 ; i >= 0; i--) {
System.out.print(chr[i]);
}
11、字符在ASCII码范围内(0~127,包括0和127)
字符串转化为ASCII数值
字符串首先转化为char类型,使用int数组转为ASCII数值
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
int[i] = c;
}
12、进制之间相互转化
Integer的方法 Integer.toBinaryString(num);int类型转化成二进制字符串
13、字符串数组的排序
Arrays.sort(array); 默认升序
Arrays.sort(array,new Comparator<>); 也可以用比较器自定义比较
14、正则表达式
* 0 - 多次
+ 1 - 多次
?0 - 1
15、安装rpm
yum install *.rpm
rpm -ivh *.rpm
16、map的key只唯一性
map.getOrDefault(key,0); 该方法用于设置value的默认值。。。
map的key值是不可重复的。可以更新key对应的value
17、数组的定义以及复制
①int[] a={1,2}
②int[] b=new int[]{1,2};
18、list的排序
基本类型的元素:
Collections.sort(demo_list );
实体类元素的排序:通过某个成员变量的值做比较:
Collections.sort(demo_list , (Bean b1, Bean b2) -> b2.getXxx().compareTo(b31.getXxx()));
demo_list .sort(Comparator.comparing(Bean->method)));
倒序:
Collections.reversed(demo_list);
19、substring获取一个字符串到末尾
s.substring(0,(s.length+1))
20、数组合并的方法
concat
var arr = arr1.concat(arr2,arr3); //合并一
21、保留两位小数
String.format("%.2f", d)
5位小数
new DecimalFormat("#,##0.00000").format(new Double("96.1"));
22、使用double类型进行运算时
比如整数运算,先将整数转换成double类型 ,这样才能保留运算后的正确结果,不会进行四舍五入
例如 5/2 结果是2.0
double a = 5;
a/2 结果就是2.5;
23 最简单的办法验证一个字符是不是数字的方法
(1)java自带类库的办法
public boolean isNum(String msg)
if(java.lang.Character.isDigit(msg.charAt(0)))
(2)使用ASCII码进行验证
char a 0<a<9
24、字符串操作之前需要判断是不是空串以及是不是有一个或者多个空格
不然会抛出异常
去除多个空格的方法
str.trim().length()== 0
25、判定两个几个list是否相等
list.retainAll(list2);
比较两个数组是否相等
Arrays.equals(array1,array2);
24、HashSet:不允许有重复元素
①value值没有用,也就不存在修改value值的说法
②往HashSet中添加元素,首先判断元素(也就是key)是否存在,如果不存在这插入,如果存在着不插入,这样HashSet中就不存在重复值。