Java基础语法<六> 数组 Arrays

时间:2021-11-11 19:41:17
笔记整理 来源于《Java核心技术卷 I 》 《Java编程思想》   允许数组长度为0 new element[0] 数组长度为0与null不同  

1. 数组拷贝

允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组: int[] ele1 = ele2; ele1[5] = 12; //now ele2[5] is also 12   如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyTo方法: int[] copiedele = Arrays.copyOf(ele1,ele1.length); 第2个参数为数组的长度,通常用来增加数组的大小。

2. 命令行参数

每个java应用程序都有一个带String arg[]参数的main方法。这个参数表明main方法将接受一个字符串数组,也就是命令行参数。  

3. API

java.util.Arrays 1.2

  static String toString(type[] a) 5.0 返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。 参数:a 类型为int、long、short、byte、boolean、float或double的数组   static type copyOf(type[] a,int length)  6 staitc type copyOf(type[] a,int start,int end)  6 返回与a类型相同的一个数组,其长度为length或者start-end数组元素为a的值 参数:a 类型为int、long、short、byte、boolean、float或double的数组              start 起始下标 包含这个值              end 终止下标 不包含这个值,这个值可能大于a.length,在这种情况下,结果为0或false。              length 拷贝的数据元素长度.如果length值大于a.length,结果为0或false;否则,数组中只有前面length个数据元素的拷贝值   static void sort(type[] a) 采用优化的快速排序算法对数组进行排序 参数:a 类型为int、long、short、byte、boolean、float或double的数组   static int binarySearch(type[] a,type v) static int binarySearch(type[] a,int start,int end,type v)  6 采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值,否则,返回一个负数值r。-r-l是为保持a为有序v应插入的位置。 参数:  a 类型为int、long、short、byte、boolean、float或double的数组              start 起始下标(包含这个值)              end  终止下标(不包含这个值)              v 同a的数据元素类型相同的值   static void fill(type[] a type v) 将数组的所有数据元素值设置为v 参数:a 类型为int、long、short、byte、boolean、float或double的数组          v 同a的数据元素类型相同的值   static boolean equals(type[] a type[] b) 如果两个数组大小相同,并且下标相同的元素都对应相等,返回true 参数 a,b类型为int、long、short、byte、boolean、float或double的数组  

4. 多维数组

foreach 需要两个嵌套的循环   快速打印 System.out.println(Arrays.deepToString(a));  

5. 不规则数组

Java实际上没有多维数组,多维数组被解释为 数组的数组。