Signle Dimension Array
- Array is a data structure that represents a collection of the same types of data
- Size is Fixed
- 查看长度: arr.length
- Defualt value:
- Pass by value
- 普通: 改变scope/ method里的数值不会改变scope/ method外部变量值
- Java数组: reference to an array, 任何内部改变会引发指向他的数组的值的改变
Type | Value |
---|---|
numeric | 0 |
char | \u0000 |
bool | false |
Syntax
定义数组的两种方式:
datatype[] arrayRefVar = new datatype[arraySize];
//example
double[] myList = new double[10];
datatype arrayRefVar[] = new datatype[arraySize];
//example
double myList[] = new double[10];
init 数组的三种方式:
//1.
double[] myList = {1.9, 2.9, 3.4, 3.5};
//2.
double[] myList = new double[2];
myList[0] = 1.9;
myList[1] = 2.9;
- for-each
Double Dimension Array 二维数组和multi-dimentional array
Index
//竖
arr.length;
//横
arr[0].length
Ragged Array
Rows might have different length
int[][] test =
{ {1, 2, 3, 4, 5},
{2, 3, 4, 5},
{3, 4, 5},
{4, 5},
{5} };
Syntax
//声明和创建
dataType[][] refVar = new dataType[10][10];
dataType refVar[][] = new dataType[10][10];
Print out
for (int row = 0; row < test.length; row++) {
for (int column = 0; column < test[row].length; column++) {
System.out.print(mtest[row][column] + " "); }
System.out.println();
}
Copy
三种复制数组的方法:
//1. loop
int[] oldArray = {...};
int[] newArray = new int[oldArray.length];
for (int i = 0; i < oldArrays.length; i++) {
newArray[i] = oldArray[i];
}
//2. Arraycopy Method:
arraycopy(sourceArray, src_pos, targetArray, tar_pos, length);
- clone