JAVA : ArrayList


こんにちは!😊 今日はJAVA:ArrayListをご紹介します
作者のJAVAバージョン
javac -version

// javac 1.8.0_202

java -version

// java version "1.8.0_202"
// Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
// Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
ArrayList
java™ Platform Standard Ed. 8 apiから左上のPackagesからjavaへ.「util」をクリックし、左下隅Clearsの「ArrayList」をクリックすると、次の画面が表示されます.

ArrayListは配列です.しかし、以前に発表されたアレイとは異なります.
Array
以前のアレイの位置決めに関与したJAVAアレイの特徴.
  • より前のレイアウト位置>>JAVAシナリオと条件文(if)2
  • ✔JAVAでは、配列は同じデータ型を順番に並べています.
    番号フィーチャーJavaでは、配列に同じデータ型が必要です.2.Javaでは、配列は配列の個数を決定するために使用されます.3.Javaでは、配列はオブジェクトです.(参考資料型.)4.Javaでは、配列は1次元配列、2次元配列(多次元配列をサポート)をサポートします.5.javaでは、配列の演算子は[]カッコです.
    ✔アレイの宣言と初期化
    1 Dアレイ[]
    자료형 배열참조변수[] = new 자료형[배열의 갯수];
    자료형[] 배열참조변수 = new 자료형[배열의 갯수];
    2 D配列
    자료형 배열참조변수[][]= new 자료형[배열의 갯수][배열의 갯수];
    자료형[][] 배열참조변수 = new 자료형[배열의 갯수]배열의 갯수;
    자료형[] 배열참조변수[] = new 자료형[배열의 갯수]배열의 갯수;
    アレイ実践コード
    public class ArrayList_prac {
    
    	public static void main(String[] args) {
    		int iArr[] = new int[3];		
    		System.out.print(iArr[0]);
    		System.out.print(iArr[2]);
            
            int jArr[] = {1,2,3};
    		System.out.print(jArr[2]);
    	}
    
    }
  • 出力結果:003
  • ✔jArr[]配列に文字列データを入れてみます
    int jArr[] = {1,2,"삼"};
    System.out.print(jArr[2]);
    
    /*
    ArrayList_prac.java:10: error: incompatible types: String cannot be converted to int
            int jArr[] = {1,2,"삼"};
                              ^
    1 error
    */
    
  • javacコンパイルから開始します.
  • ArrayList
    ArrayListはサイズを指定せず、データを入力するだけで出力できます.
    import java.util.ArrayList;
    
    public class ArrayList_prac {
    
    	public static void main(String[] args) {
    		ArrayList lArr=new ArrayList();
    		lArr.add(1);
    		lArr.add(2);
    		lArr.add("삼");
    		lArr.add(1.0);
    		lArr.add(false);
    		lArr.add('c');
    		lArr.add(1234l);
    		lArr.add(1.000f);
    		lArr.add(2.000d);
    		
    		for (int l=0; l<lArr.size(); l++) {
    			System.out.print(lArr.get(l)+", ");
    		}
    	}
    }
  • 出力結果:1、2、3、1.0、false、c、1234、1.0、2.0、
  • ArrayListは文字列、基礎資料、および参照資料をサポートします.
    また、アレイのサイズを決定する方法では、既存のアレイとは異なります.
    ArrayとArrayListのアレイサイズ設定の違い

    アレイは、アレイのサイズを事前に決定し、事前に定義されたアレイのサイズ規則に従って使用する必要があります.
    ただし、ArrayListは最初に10個に設定し、値を追加するときに10個の配列のサイズを増やします.

    ArrayListコード練習
    最後にArrayListはコード練習として今回のポジションを終了😊
    HelloVO.java
    package a.b.c.ch3;
    
    public class HelloVO {
    	
    	private String mid;
    	private String mpw;
    	private String mname;
    	
    	public HelloVO() {
    		//super();
    	}
    
    	public HelloVO(String mid, String mpw, String mname) {
    		//super();
    		this.mid = mid;
    		this.mpw = mpw;
    		this.mname = mname;
    	}
    	
    	public String getMid() {
    		return mid;
    	}
    	public String getMpw() {
    		return mpw;
    	}
    	public String getMname() {
    		return mname;
    	}
    	public void setMid(String mid) {
    		this.mid = mid;
    	}
    	public void setMpw(String mpw) {
    		this.mpw = mpw;
    	}
    	public void setMname(String mname) {
    		this.mname = mname;
    	}
    	
    }
    ArrayList_p.java
    package a.b.c.prac1;
    
    import java.util.ArrayList;
    
    import a.b.c.ch3.HelloVO;
    
    public class ArrayList_p{
    	public void arrayListTest_1(){
    		ArrayList<HelloVO> aList = new ArrayList<HelloVO>();
    		System.out.println("\n 1st for keyword \n");
    		
    		for (int i=0; i<3; i++) {
    			HelloVO hvo = new HelloVO();
    			System.out.println("\n i >>> : "+i+", hvo 참조변수 주소값 >>>"+hvo);
    			
    			hvo.setMid("VELOG_ID"+i);
    			hvo.setMpw("VELOG_PW"+i);
    			hvo.setMname("JAVA_SERIES"+i);
    			
    			System.out.println("aList.size() >>> : "+aList.size());
    			System.out.println("aList >>> : "+aList);
    			aList.add(hvo);
    			System.out.println("\n After input hvo in ArrayList \n");
    			System.out.println("aList.size() >>> : "+aList.size());
    			System.out.println("aList >>> : "+aList);
    		}
    		
    		System.out.println("\n 2nd for keyword \n");
    		
    		for (int i=0; i<aList.size(); i++) {
    			System.out.println("\n aList.get("+0+") >>> : "+aList.get(i));
    			
    			HelloVO _hvo =aList.get(i);
    			System.out.print(_hvo.getMid()+" ");
    			System.out.print(_hvo.getMpw()+" ");
    			System.out.println(_hvo.getMname());
    		}
    		
    	}
    
    	public static void main(String[] args) {
    		System.out.println("Hello");
    		new ArrayList_p().arrayListTest_1();		
    	}
    
    }
    練習コード説明
    HelloVO.java
    HelloVo classはprivate String mid、mpw、およびmnname変数を有する.これらの変数はクラスから飛び出すことはできません.共通作成者とthisキーワード、setterメソッド、getterメソッドは、外部でこれらの変数を使用することができます.
    この目的のために、パラメータを持たないコンストラクション関数とパラメータを持つコンストラクション関数(String mid、String mpw、String mname)のコンストラクション関数を作成し、設定方法とゲストメソッドを作成しました.
    ArrayList_p.java
    new ArrayList_p().arrayListTest_1();
    ArrayList pクラスで基本ジェネレータを作成しarrayList Test 1メソッドを実行します.
    ArrayList<HelloVO> aList=new ArrayList<HelloVO>();
    ArrayListジェネレータは、新しいキーワードインスタンスとして使用されます.
    このとき、配列は初期化され、サイズは0、配列は[]です.
  • <>はアップグレード版で、ArrayListの「Hellovo」データはHellovoのみを使用します.
  • for (int i=0; i<3; i++) {
    	HelloVO hvo = new HelloVO();
    繰り返し文
  • for文は、1回転ごとにHellovo()ジェネレータを新しいキーワードでインスタンス化します.
  • hvo.setMid("VELOG_ID"+i);
    hvo.setMpw("VELOG_PW"+i);
    hvo.setMname("JAVA_SERIES"+i);
  • 以降、VELOG ID、VELOG PW、JAVA SERIESに現在重複する数字iを加え、HELLOVEのthisとする.変数を代入します.
  • aList.add(hvo)
  • 参照変数hvoのアドレス値を参照変数aListに追加する.
  • for (int i=0; i<aList.size(); i++) {
    	System.out.println("\n aList.get("+0+") >>> : "+aList.get(i));
    			
    	HelloVO _hvo =aList.get(i);
    	System.out.print(_hvo.getMid()+" ");
    	System.out.print(_hvo.getMpw()+" ");
    	System.out.println(_hvo.getMname());
    }
  • aListのインデックスに格納された参照変数のアドレス値をHellovoクラスのhvoという参照変数として宣言し、対応するジェネレータのリソースを出力する.
  • 出力結果
    Hello
    
     1st for keyword 
    
    
     i >>> : 0, hvo 참조변수 주소값 >>>a.b.c.ch3.HelloVO@15db9742
    aList.size() >>> : 0
    aList >>> : []
    
     After input hvo in ArrayList 
    
    aList.size() >>> : 1
    aList >>> : [a.b.c.ch3.HelloVO@15db9742]
    
     i >>> : 1, hvo 참조변수 주소값 >>>a.b.c.ch3.HelloVO@6d06d69c
    aList.size() >>> : 1
    aList >>> : [a.b.c.ch3.HelloVO@15db9742]
    
     After input hvo in ArrayList 
    
    aList.size() >>> : 2
    aList >>> : [a.b.c.ch3.HelloVO@15db9742, a.b.c.ch3.HelloVO@6d06d69c]
    
     i >>> : 2, hvo 참조변수 주소값 >>>a.b.c.ch3.HelloVO@7852e922
    aList.size() >>> : 2
    aList >>> : [a.b.c.ch3.HelloVO@15db9742, a.b.c.ch3.HelloVO@6d06d69c]
    
     After input hvo in ArrayList 
    
    aList.size() >>> : 3
    aList >>> : [a.b.c.ch3.HelloVO@15db9742, a.b.c.ch3.HelloVO@6d06d69c, a.b.c.ch3.HelloVO@7852e922]
    
     2nd for keyword 
    
    
     aList.get(0) >>> : a.b.c.ch3.HelloVO@15db9742
    VELOG_ID0 VELOG_PW0 JAVA_SERIES0
    
     aList.get(0) >>> : a.b.c.ch3.HelloVO@6d06d69c
    VELOG_ID1 VELOG_PW1 JAVA_SERIES1
    
     aList.get(0) >>> : a.b.c.ch3.HelloVO@7852e922
    VELOG_ID2 VELOG_PW2 JAVA_SERIES2
    以上、JAVA:ArrayList🙂