Arrays类的十大用法
还有很多地方需要细细斟酌
0. 声明数组
1 String[] aArray = new String[5]; 2 String[] bArray = {"a","b","c", "d", "e"}; 3 String[] cArray = new String[]{"a","b","c","d","e"};
1. 打印数组
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 String intArrayString = Arrays.toString(intArray); 3 4 // 直接打印,则会打印出引用对象的Hash值 5 // [I@7150bd4d 6 System.out.println(intArray); 7 8 // [1, 2, 3, 4, 5] 9 System.out.println(intArrayString);
2. 根据数组创建ArrayList
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); 3 // [a, b, c, d, e] 4 System.out.println(arrayList);
3. 检查数组是否包含某个值
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 boolean b = Arrays.asList(stringArray).contains("a"); 3 // true 4 System.out.println(b);
4. 合并连接两个数组
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 int[] intArray2 = { 6, 7, 8, 9, 10 }; 3 // Apache Commons Lang 库 4 int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
5. 声明内联数组
1 method(new String[]{"a", "b", "c", "d", "e"});
6. 用给定的字符串连结(join)数组
1 // containing the provided list of elements 2 // Apache common lang 3 String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); 4 // a, b, c 5 System.out.println(j);
7. 将ArrayList转换为数组
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); 3 String[] stringArr = new String[arrayList.size()]; 4 arrayList.toArray(stringArr); 5 for (String s : stringArr) 6 System.out.println(s);
8. 将数组转换为Set
1 Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); 2 //[d, e, b, c, a] 3 System.out.println(set)
9. 数组元素反转
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 ArrayUtils.reverse(intArray); 3 //[5, 4, 3, 2, 1] 4 System.out.println(Arrays.toString(intArray));
10. 移除元素
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 int[] removed = ArrayUtils.removeElement(intArray, 3);//创建新的数组 3 System.out.println(Arrays.toString(removed));
更多——转换int值为字节数组
1 byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); 2 3 for (byte t : bytes) { 4 System.out.format("0x%x ", t); 5 }