一次元アレイ、トラバース、コピー、膨張及び体積減少を定義します
1.一次元アレイは:同じデータ型、連続したメモリの集合である
配列の定義:
方法の定義:int []arr=new int[]{1,2,3};
2つの方法の定義int []arr=new int[5];
//デフォルト:0
三つの方法を定義します。int []arr={1,2,3}
2.new:ヒープのメモリを開きます
3.arr.length:配列ARRの長さ
4. 配列トラバーサル:
(1)
for(int index=0;index<arr.length;index++)
System.out.println(arr[index]);
(2)
for(int value:arr) System.out.println(value);
(3)
System.out.println(Arrays.toString(arr));
5.ArrayIndexOutOfBoundsExcception:国境を越えた異常な配列の添字
6. アレイコピー
1)for(int i=0;i<arr.length;i++ ) brr[i]=arr[i];
2) int []brr=arr.clone();
3) brr= Arrays.copyOf(arr,arr.length);
4) System.arraycopy(arr,0,brr,0,arr.length);
7.シャローコピー://一般浅いコピーされている共有メモリのうち内容のコピーがあり
、暗いコピー:共有メモリが不足して内容をコピーし、別のアドレスに存在しません。
8.定義された方法は、拡張を成長させます
public static void grow(int []arr)
{
int brr[]=new int[arr.length]+1;
System.arraycopy(arr,0,brr,0,arr,length);
return brr;
}
arr=grow(arr);
9.System.arraycopy()Arrays.copyOf運転効率よりも高いが、Arrays.copyOf()がより便利です
定義された2次元配列、反復、コピー
配列の配列 - 各要素は一次元アレイの二次元アレイであります
1. 定義の二次元アレイ。
int[][] arr = new int[3][5]; //定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数。
int[][] arr = new int[3][]; //表示一个包含了三个整型的一维数组的二维数组。
int[][] arr = {{2,5},{1},{3,2,4},{1,7,5,9}}; //注意:[]在变量名前的时候,是紧跟数据类型的;如果[]在后,则是属于当前变量名。
2 のコピーの二次元アレイ:
(1)
for(int i=0;i<arr.length;i++)
for(int j=0;j<arr[i].length;j++)
brr[i][j]=arr[i][j];
(2)
int [][]brr=Arrays.copyOf(arr,arr.length); //浅拷贝,brr使用的仍是同一块数据,地址一样。
for(int i=0;i<arr.length;i++)
brr[i]=Arrays.copyOf(arr[i],arr[i].length);
前記二次元アレイのトラバーサルは:
int [][]b={{2,2},{3,2}};
for(int i=0;i<b.length;i++)
for(int j=0;j<b[0].length;j++)
System.out.print(b[i][j]+" ");
4.arr.length:数行、すなわち、いくつかの一次元配列
[0] .LENGTH ARR:複数の列、すなわち、各一次元アレイのいくつかは、あります
図5に示すように、文字列は文字列に変換されます。
String str="abcde";
char[] c=new char[str.length()];
c=str.toCharArray();
スペース、キャリッジリターン、タブ文字列の他端、nextlineだけキャリッジリターンで6.next()
7.split( "*"):文字列を分割する**
String []arr=str.split(" ");