1.
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
2.返回一个字符对应的ACSII码 int n=(int)s.charAt(0); eg. a >>97 //s 字符串 n=97
3.字符串放入字符数组:char[] c=s.toCharArray();
4.把字符串“123” 转换成int型:int b=Integer.parseInt(s[i].substring(1, s[i].length()));
5.indexof(str) 的使用://fanhui str第一次出现的索引
lastindexof(str): str最后一次出现的索引
String name="Hi Mary, Mary quite contrary";
name.indexof("Mary") 返回3,name.indexof("ddd") 返回-1
例:判断无效的掩码 //除了255.0.0.0;255.255.0.0;255.255.255.0;255.255.255.255之外都是无效的
去掉字符串中间的空格:
String str="aa bb cc";
System.out.println(str.replaceAll(" ", ""));
6.s.substring(5) 从第五个字符开始截取到结束
7.next()和nextline()区别:
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
8.map有四个实现类:
HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。HashMap不支持线程同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致性。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。
Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
LinkedHashMap:保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。
在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。
TreeMap:当用Iterator遍历时,得到的记录是排过序的。
9.基本数据类型没被赋值之前默认为0;数组默认为null
10.java去重 且保持原有顺序 利用LinkedHashSet 和ArrayList: