java 数组详解
数组是一种数据结构,用来存储同一类型的集合。
注意:
a.一旦创建了数组,就不能再改变它的大小(尽管可以改变每一个数组元素)。如果经常需要在运行过程中扩展数组的大小,就应该i使用另一种数据结构——数组列表
1.声明一个数组
int[] a;(常用) int a[];
//元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
2.创建一个数组(使用new运算符)
int[] a = new int[100];
3.给数组元素赋值
int[] a = new int[100];
for(int i =0; i<100; i++)
a[i]=i;
4.获得数组中的元素个数
array.length
5.循环
for(variable : collection) statement
for(int i = 0; i<a.length; i++)
System.out.println(a[i]);
Arrays.toString(a)
System.out.println(Arrays.toString);
6.数组初始化以及匿名数组
a.创建数组对象并同时赋予初始值的简化书写形式。(注意,在使用这种语句时,不需要调用New)
int[] smllPrimes = {2, 3, 5, 7, 11, 13};
b.初始化一个匿名的数组
new int[] {17, 19, 23, 29, 31, 37}
smallPrimes = new int[] {17, 19, 23, 29, 31, 37};
简写:int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
7.数组拷贝
int[] luckyNumbers = smllPrimes;
luckyNumbers[5] = 12;
int[] copiedLuckyNumbers = Arrays.copyof(luckyNumbers, luckyNumbers.length);
【exp:】
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.arraycopy(smallPrimes, 2, luckyNumbers, 3, 4);
for(int i = 0; i<luckNumbers.length; i++)
System.out.println(i + ":" + luckyNumbers[i]);
8.数组排序
int[] a = new int[10000];
...
Arrays.sort(a)
9.多维数组
a.声明一个二维数组相当简单。
double[][] balances;
int[][] magicSauare =
{
{16, 3, 2, 13}
{5, 10, 11, 8}
{9, 6, 7, 12}
{4, 15, 14, 1}
};
b.快速打印一个二维数组
System.out.println(Arrays.deepToString(a));