害,听说要考技术认证考试。随便弄点鞋垫。
Integer转 String
方法一
Integer integer1 = 10086; String str1 = "10010";
str1 = integer1.toString(integer1);//两种方式都可以 str1 = Integer.toString( integer1 ); System.out.println(str1);
输出结果10086
方法二
str1 = String.valueOf( integer1 ); System.out.println(str1);
输出结果10086
String 转 Integer
integer1 = Integer.valueOf( str1 ); System.out.println(integer1);
输出结果 10010
Int 数组转 Integer数组
int[] arr = {1,2,3,4,4,3,2,1}; List<Integer> list = Arrays.stream( arr ).boxed().collect( Collectors.toList());
如果需要检查数组中是否存在某个数
int key = 0; Arrays.binarySearch( arr, key );
数组中查找最大值的方法
*5种写法,这里只写2种(因为方便)
int[] arr = {1,2,3,4,4,3,2,1};
方法1 :Arrays.sort 方法
int max = findMaxBySort(arr); private static int findMaxBySort(int[] arr ){ Arrays.sort(arr); return arr[arr.length -1 ]; }
方法2 : 依赖 Arrays.Stream() 实现
int max = findMaxByStream(arr); private static int findMaxByStream(int[] arr){ return Arrays.stream( arr ).max().getAsInt(); }
字符串操作
统计字符串中各个字符出现次数
private static Map charCount(String input){ Map<Character, Integer> charsCount = new LinkedHashMap<>(); for(char c : input.toCharArray()){ charsCount.merge( c,1,Integer::sum ); } return charsCount; }
字符串翻转
private static String reverseInputString(String input){ StringBuilder sb = new StringBuilder(input); String result = sb.reverse().toString(); return result; }
判断字符串是否对称
private static boolean checkString(String input){ boolean result = true; int length = input.length(); for(int i = 0 ; i < length / 2 ; i++){ if(input.charAt( i )!=input.charAt( length-i-1) ){ result = false; break; } } return result; }
判断字符串A是否包含字符串B
String string1 = "AAAB"; String string2 = "B"; boolean result = string1.contains( string2 );
找出字符串中第一个不重复的字符
private static Character firstReatChar(String string){ char[] chars = string.toCharArray(); List<Character> dischardedChars = new ArrayList<>(); for(int i = 0 ;i < chars.length; i++){ char c = chars[i]; if(dischardedChars.contains( c )) continue; for(int j = i+1 ; j< chars.length; j++){ if(c==chars[j]){ dischardedChars.add(c); break; }else if(j==chars.length-1){ return c; } } } return null; }
检查字符串是否只包含数字
private static boolean digitsOnlyString(String string){ if(string.matches( "\\d+" )) return true; else return false; }
正则表达式
校检
1.数字
^[0-9]\*$
2.n位数字
^d{n}$
3.至少n位数字
^\d{n,}$
4.m-n位数字
^\d{m,n}$
5.零或非零开头的数字
^(0|[1-9][0-9]\*)$
6.英文和数字
^[A-Za-z0-9]+$
7.由26英文字母组成的字符串
^[A-Za-z]+$
8.26大写英文
^[A-Z]+$
9.26小写英文
^[a-z]+$
计数List中的各个元素出现的次数
Map<String, Integer> map = new HashMap<String, Integer>(); for(String item: l){ if(map.containsKey(item)){ map.put(item, map.get(item).intValue() + 1); }else{ map.put(item, new Integer(1)); } } Iterator<String> keys = map.keySet().iterator(); while(keys.hasNext()) { String key = keys.next(); System.out.print(key + ":" + map.get(key).intValue() + ", "); }
查找数组中目标数的位置
int[] arr4 = {1, 2, 3, 4, 8, 5, 6, 7, 8}; int number = 8;
index = getIndex( arr4,number );
public static List<Integer> getIndex ( int[] arr, int number ) { int k; List list = new ArrayList(); for (k = 0; k < arr.length; k++) { if (number == arr[k]) list.add( k ); } return list; }