JAva配列の簡単な紹介とその方法


Java配列についてお話しします
配列はデータを格納するコンテナで、要素タイプが一意で、長さが固定されている2つの特徴があります.
1 D配列宣言1 D配列宣言:タイプ[]配列名;タイプ配列名[];前者をお勧めします.
多次元配列宣言も上記の要件です.
配列を作成するときは、次の点に注意してください.
1).配列オブジェクトが作成されると、そのサイズは変更できないので、配列を作成するには適切な長さを与える必要があります.この点には解決の余地があります.コードは自分のものです.
2).配列の下の表は0から始まり、下の表の範囲は0から配列の長さ-1までです.
3).配列内の要素は、配列名と配列下付きで決定されます.
配列の初期化は、静的初期化(長さを指定できない)と動的初期化(長さを指定する必要がある)の2つに分けられます.
例えば1次元配列初期化:int[]a=new int[3];int[]a=new int[]{1,2,3}注意後者の[]には値を記入できません.
多次元配列の初期化:int[][a=new int[3][3]; int[][] a = new int[3][];int[][] a = new int[][]{{1},{1,2},{1,2,3}};注意後の2つのフォーマット[]には値を入力できません.
別の角度から言えば、配列の初期化は次のように分けられます.
1).≪デフォルトの初期化|Default Initialization|emdw≫:配列がどのタイプの配列であるかにかかわらず、作成からデフォルトで各要素に初期値が割り当てられます.基本タイプのデフォルト値については、以前にも述べたように、booleanタイプについてはfalseで、他のタイプには0が対応しています.具体的にはbyte,short,intのデフォルトは0です.longのデフォルトは0 Lです.doubleのデフォルトは0.0です.floatのデフォルトは0.0 Fです.charのデフォルトは'<00';Stringのデフォルト値はnullです.
2).割り当て初期化:配列要素に値を割り当てるが、明確な法則がある場合は、ループ文を使用して初期化できます.配列をループする場合、制限条件は一般的にlength属性に関連しており、境界を越えないに違いない.配列に値を付ける際には具体的な数値は使わない方がよいが、具体的な数値ではエラーが発生しやすく、メンテナンス性も悪いため、配列長が変化すると複数行のコードを修正するので、配列名を使うことをお勧めする.lengthでしょう.
3).列挙初期化:配列要素に必要な初期値がデフォルト値と異なるが、明らかな法則がなく、数も多くない場合、上記のint[]a=new int[]{1,8,4,3}のように列挙初期化を採用することができる.
配列割り当てのルールは次のとおりです.*配列の次元数は同じで、*配列要素のタイプは同じで、*配列にはデータ型変換はありません.
Javaには入力方法があります.基本的な入力方法を説明します.
Scannerは入力スキャンクラスで、基本的な使い方は以下のコードで示されています.
package practice;
import java.util.Scanner;
public class TestScanner {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//         
int i = scan.nextInt();
String s = scan.next();
boolean b = scan.nextBoolean();
double d = scan.nextDouble();
System.out.println("int:"+i+" Sring:"+s+" boolean"+b+" double:"+d);
}
}

出力は次のとおりです.
1
maidou
true
1.1
int:1 Sring:maidou booleantrue double:1.1

次に、配列をテストする方法について説明します.
Arrays.copyOfRange(パラメータ、パラメータ、パラメータ):指定した配列の指定範囲を新しい配列にコピーします.
Arrays.copyOf(パラメータ、パラメータ):指定した配列をコピーし、切り取ったり0で埋めたりして、コピーに指定した長さを持たせる
Arrays.sort(パラメータ):指定int型配列の指定範囲を数値昇順に並べ替える
Arrays.binarySearch(パラメータ、パラメータ):指定されたint型配列を二分法で検索し、指定された値を取得しますが、順序付けが完了した上で、sort呼び出しが完了したら二分法で検索する必要があります.
Arrays.toString():メソッドは配列のフォーマット出力方式を提供し、一般的に呼び出し時にこのメソッドを書き換える必要があります.
System.Arraycopy(src,srcPos,dest,destPos.length):src-元配列srcPos-元配列の開始位置dest-ターゲット配列destPos-ターゲット配列の開始位置length-コピーする配列要素個数
Arraysツールクラスの使用は後のコレクションのCollectionsと似ているので、この点はコレクションで話しましょう.
コードを見てみましょう.
package practice;
import java.util.Arrays;
public class TestArrays {
public static void main(String[] args) {
int[] a = new int[]{1,3,5,7,9,2,4,6,8,10};
int[] b = Arrays.copyOf(a, a.length);
int[] c = Arrays.copyOfRange(a, 2, 5);//    
System.out.println("Arrays.copyOf()   "+Arrays.toString(b));
System.out.println("copyOf            "+(a == b));//copyOf()             
System.out.println("Arrays.copyOfRange   "+Arrays.toString(c));
Arrays.sort(a);
for(int i : a){
System.out.print(i+" ");//              
}
System.out.println();
System.out.println("Arrays.toString()   "+Arrays.toString(a));
int pos = Arrays.binarySearch(a, 5);
System.out.println("Arrays.binarySearch   "+pos);
int[] d = new int[6];
System.arraycopy(a, 0, d, 1, 5);
System.out.println("System.arraycopy   "+Arrays.toString(d));
}
}

出力は次のようになります.
Arrays.copyOf()   [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
copyOf            false
Arrays.copyOfRange   [5, 7, 9]
1 2 3 4 5 6 7 8 9 10
Arrays.toString()   [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Arrays.binarySearch   4
System.arraycopy   [0, 1, 2, 3, 4, 5]

さて、配列はここまでにしておきましょう.次に対象に向けた三大特長についてお話しします^-^!