数组定义的2种方式:
已知数据数组:
String[] name = { "张三", "李四", "王五" };
未知数据数组:
String[] langage = new String[3];
已知数据二维数组:
int[][] age = { { 20, 30 }, { 50, 60 }, { 80 } };
未知数据二维数组:
String[][] gender = new String[3][2];
数组取值通过下标取值:
数组内存分析如图:
删除数组中指定索引位置的元素,并将元素返回:
// 删除数组中指定索引位置的元素,并将元素返回 public static String[] removeElement(String[] arrayName, int index) { System.arraycopy(arrayName, index + 1, arrayName, index, arrayName.length - index - 1); arrayName[arrayName.length - 1] = null; for (int i = 0; i < arrayName.length; i++) { System.out.println(arrayName[i]); } return arrayName; }
数组扩容:
// 数组扩容 public static String[] extendRange(String[] srcArray) { String[] destArray = new String[srcArray.length * 2]; System.arraycopy(srcArray, 0, destArray, 0, srcArray.length); for (String tempArray : destArray) { System.out.println(tempArray); } return destArray; }
测试代码:
package com.sxt; public class ArrayCopy { public static void main(String[] args) { String[] arrayName = { "JAVA", "C", "PYTHON", "C++", "GOLANG" }; int index = 2; removeElement(arrayName, index); String[] srcArray = { "小学", "中学", "大学" }; extendRange(srcArray); } // 删除数组中指定索引位置的元素,并将元素返回 public static String[] removeElement(String[] arrayName, int index) { System.arraycopy(arrayName, index + 1, arrayName, index, arrayName.length - index - 1); arrayName[arrayName.length - 1] = null; for (int i = 0; i < arrayName.length; i++) { System.out.println(arrayName[i]); } return arrayName; } // 数组扩容 public static String[] extendRange(String[] srcArray) { String[] destArray = new String[srcArray.length * 2]; System.arraycopy(srcArray, 0, destArray, 0, srcArray.length); for (String tempArray : destArray) { System.out.println(tempArray); } return destArray; } }