Java基础篇4——数组 忘是亡心i 2023-10-03 15:44 1阅读 0赞 ## Java基础篇4——数组 ## ### 1、数组的概念 ### * 当需要在Java程序中记录单个数据内容时,则声明一个变量即可 * 当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数 组即可,一维数组本质上就是在内存空间中申请一段连续的存储单元 * 数组是相同数据类型的多个元素的容器,元素按线性顺序排列,在Java语 言中体现为一种引用数据类型 ### 2、一维数组的声明 ### #### 2.1、一维数组的声明 #### 数据类型[] 数组名称 = new 数据类型[数组的长度]; 数据类型[] 数组名称 = {初始值1, 初始值2, ...}; #### 2.2、数组的方法 #### //长度 数组.length //访问元素 数组[下标] #### 2.3、数组的优缺点 #### * 可以直接通过下标(或索引)的方式访问指定位置的元素,速度很快 * 数组要求所有元素的类型相同 * 数组要求内存空间连续,并且长度一旦确定就不能修改 * 增加和删除元素时可能移动大量元素,效率低 ### 3、java.util.Arrays ### #### 3.1、数组复制 #### **与System.arraycopy数组复制类似,但无需事先准备数组** import java.util.Arrays; public class Test1 { public static void main(String[] args) { copyofrange(); } public static void copyofrange(){ int a[] = new int[] { 20,25,15,5416,464 }; int[] b = Arrays.copyOfRange(a, 0, a.length); for (int i = 0; i < b.length; i++) { System.out.print(b[i] + " "); } } } #### 3.2、转换为字符串 #### public class Test1 { public static void main(String[] args) { tostring(); } public static void tostring(){ int a[] = new int[] { 20,25,15,5416,464 }; System.out.println(Arrays.toString(a)); } } #### 3.3、排序 #### public class Test1 { public static void main(String[] args) { sort(); } public static void sort(){ int a[] = new int[] { 20,25,15,5416,464 }; Arrays.sort(a); System.out.println(Arrays.toString(a)); } } #### 3.4、搜索 #### **使用binarySearch之前,必须先使用sort进行排序** public class Test1 { public static void main(String[] args) { search(); } public static void search(){ int a[] = new int[] { 20,25,15,5416,464 }; Arrays.sort(a); System.out.println(Arrays.toString(a)); System.out.println(Arrays.binarySearch(a, 464)); } } #### 3.5、判断是否相同 #### public class Test1 { public static void main(String[] args) { equal(); } public static void equal(){ int a[] = new int[] { 20,25,15,5416,464 }; int b[] = new int[] { 20,25,15,5416,465 }; System.out.println(Arrays.equals(a,b)); } } #### 3.6、填充 #### public class Test1 { public static void main(String[] args) { fill(); } public static void fill(){ int a[] = new int[] { 20,25,15,5416,464 }; Arrays.fill(a,10); System.out.println(Arrays.toString(a)); } } ### 4、二维数组 ### 二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中 的每个元素都是一维数组,而一维数组中的每个元素才是数据内容 #### 4.1、二维数组初始化 #### 数据类型[][] 数组名称 = new 数据类型[行数][列数]; 数据类型[][] 数组名称 = { {元素1, 元素2,...}, ...};
还没有评论,来说两句吧...