下面是关于Java数组的10大方法,他们都是在stackoverflow上投票出来的。
1. 定义一个数组
不知道为什么这个是问的最多的,难道因为最常见所以最容易忘?
1 2 3
| String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"};
|
2. 打印数组
1 2 3 4 5 6 7 8 9
| int[] intArray = { 1, 2, 3, 4, 5 }; String intArrayString = Arrays.toString(intArray); System.out.println(intArray); System.out.println(intArrayString);
|
3. 把一个数组转化成为ArrayList
1 2 3 4
| String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); System.out.println(arrayList);
|
4. 判断一个数组中是否有一个特定的值
1 2 3 4
| String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray).contains("a"); System.out.println(b);
|
5. 连接2个数组
1 2 3 4
| int[] intArray = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 6, 7, 8, 9, 10 }; int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
|
6. 声明一个内联数组
1
| method(new String[]{"a", "b", "c", "d", "e"});
|
7. 把数组连接成为一个字符串
1 2 3 4 5
| String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); System.out.println(j);
|
8. 把ArrayList转成数组
1 2 3 4 5 6
| String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); String[] stringArr = new String[arrayList.size()]; arrayList.toArray(stringArr); for (String s : stringArr) System.out.println(s);
|
9. 把数组转化成set
1 2 3 4 5 6
| String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); String[] stringArr = new String[arrayList.size()]; arrayList.toArray(stringArr); for (String s : stringArr) System.out.println(s);
|
10. 逆向输出数组
1 2 3 4
| int[] intArray = { 1, 2, 3, 4, 5 }; ArrayUtils.reverse(intArray); System.out.println(Arrays.toString(intArray));
|
11.删除数组中的元素
1 2 3
| int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3); System.out.println(Arrays.toString(removed));
|
再来一个 把int数组转化成byte数组
1 2 3 4 5
| byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) { System.out.format("0x%x ", t); }
|
参考文档