一、数组定义和初始化
在Java中,数组是一种复合数据类型。可以储存同种数据类型的多个元素。
Java的数组分为一维数组和多维数组两种。一维数组必须指定数组长度,多维数组则需要指定每一维数组的长度。
下面是一维数组的定义和初始化示例代码:
int[] intArray = new int[5]; // 定义一个长度为5的int类型数组 int[] intArray2 = {1, 2, 3, 4, 5}; // 定义一个长度为5的int类型并初始化的数组 String[] strArray = new String[]{"java", "Python", "C#", "PHP"}; // 定义一个长度为4的String类型并初始化的数组
二、数组的遍历
数组的遍历是指访问数组中的每一个元素。
Java中可以用for循环和foreach循环来遍历数组。
for循环遍历示例代码:
int[] intArray = {1, 2, 3, 4, 5}; for (int i = 0; i < intArray.length; i++) { System.out.println(intArray[i]); }
foreach循环遍历示例代码:
int[] intArray = {1, 2, 3, 4, 5}; for (int i : intArray) { System.out.println(i); } String[] strArray = {"java", "Python", "C#", "PHP"}; for (String str : strArray) { System.out.println(str); }
三、数组的复制
Java中数组的复制分为浅复制和深复制。
1、浅复制
使用Java提供的Arrays类中的copyOf()方法可以进行数组的浅复制。
int[] intArray = {1, 2, 3, 4, 5}; int[] newIntArray = Arrays.copyOf(intArray, intArray.length); // 复制intArray数组
2、深复制
使用Java提供的System类中的arraycopy()方法可以进行数组的深复制。
int[] intArray = {1, 2, 3, 4, 5}; int[] newIntArray = new int[intArray.length]; // 创建新数组 System.arraycopy(intArray, 0, newIntArray, 0, intArray.length); // 复制intArray数组
四、数组的排序
Java中可以使用Arrays类的sort()方法对数组进行排序。
int[] intArray = {5, 3, 1, 2, 4}; Arrays.sort(intArray); // 对intArray数组进行排序
五、数组的查找
Java中可以使用Arrays类的binarySearch()方法和indexOf()方法对数组进行查找。
1、binarySearch()方法
binarySearch()方法是对已经排好序的数组进行搜索。返回值为要查找的元素在数组中的下标。
int[] intArray = {1, 2, 3, 4, 5}; int index = Arrays.binarySearch(intArray, 3); // 在intArray数组中查找元素3
2、indexOf()方法
indexOf()方法是对未排序的数组进行搜索。返回值为要查找的元素在数组中的下标。
int[] intArray = {1, 2, 3, 4, 5}; int index = Arrays.indexOf(intArray, 3); // 在intArray数组中查找元素3
六、数组的转换
Java中可以使用Arrays类的asList()方法将数组转换为List集合。
String[] strArray = {"java", "Python", "C#", "PHP"}; ListstrList = Arrays.asList(strArray); // 将strArray数组转换为List集合
七、数组的填充
Java中可以使用Arrays类的fill()方法对数组进行填充。
int[] intArray = new int[5]; Arrays.fill(intArray, 6); // 将intArray数组填充为6
八、数组的大小写转换
Java中可以使用Arrays类的copyOfRange()方法将数组中的元素转换为大小写。
String[] strArray = {"java", "Python", "C#", "PHP"}; String[] newStrArray = new String[strArray.length]; for (int i = 0; i < strArray.length; i++) { newStrArray[i] = strArray[i].toUpperCase(); // 将元素转换为大写 }
九、数组的最大值和最小值
Java中可以使用Arrays类的min()方法和max()方法得到数组中的最小值和最大值。
int[] intArray = {5, 3, 1, 2, 4}; int max = Arrays.max(intArray); // 得到intArray数组中的最大值 int min = Arrays.min(intArray); // 得到intArray数组中的最小值
十、数组的长度
Java中可以使用length属性来获取数组的长度。
int[] intArray = {1, 2, 3, 4, 5}; int length = intArray.length; // 得到intArray数组的长度5本文所涉及到的完整代码示例:https://github.com/Jerry-Chen0309/java-array-demo