Java Arrays
本文最后更新于:2024年3月18日 凌晨
Java Arrays
Arrays
- Arrays 是JDK提供的操作数组的工具类, array类提供了动态创建和访问 Java 数组的方法。
Arrays.newInstance()
- 创建数组。
- 在Java的反射机制中,通过数组的 class 对象的
getComponentType()
方法可以取得一个数组的Class对象,通过Array.newInstance()
可以反射生成数组对象。
1
| T[] b = (T[]) Arrays.newInstance(a.getClass().getComponentType(), a.length);
|
Arrays.toString()
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);
|
Arrays.asList()
1 2 3 4
| String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
|
注意
- 该方法适用于对象型数据的数组(String,Integer…)
- 该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
- 该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新。
- 生成的List不支持add(),remove(),clear()等方法。
- 返回的ArrayList不是java.util包下的,而是java.util.Arrays.ArrayList,它是Arrays类自己定义的一个静态内部类,这个内部类没有实现add(),remove()方法,而是直接使用它的父类AbstractList的相应方法。
Arrays.contains()
1 2 3 4
| String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
|
ArrayUtils
pom.xml
1 2 3 4 5 6
| <!-- https: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency>
|
ArrayUtils.addAll()
1 2 3
| int[] intArray = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 6, 7, 8, 9, 10 }; int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
|
ArrayUtils.reverse()
1 2 3 4
| int[] intArray = { 1, 2, 3, 4, 5 }; ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
|
ArrayUtils.removeElement()
1 2 3
| int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3); System.out.println(Arrays.toString(removed));
|