Javaの基本(4つ):ArrayList(使用方法の詳細な説明を含む)

Java ArrayList

ArrayListクラスは、動的に変更できる配列です。通常の配列との違いは、固定サイズの制限がなく、要素を追加または削除できることです。

ArrayListはAbstractListを継承し、Listインターフェイスを実装します。

img

ArrayListクラスはjava.utilパッケージにあり、使用する前に導入する必要があります。構文形式は次のとおりです。

import java.util.ArrayList; // 引入 ArrayList 类

ArrayList<E> objectName =new ArrayList<>();  // 初始化
  • E:objectNameのデータ型を設定するために使用される汎用データ型参照データ型のみにすることができます。
  • objectName:オブジェクトの名前。

ArrayListは、追加、削除、変更、トラバースなどの関連機能を提供する配列キューです。

要素を追加

ArrayListクラスは、多くの便利なメソッドを提供します。ArrayListに要素を追加するには、add()メソッドを使用できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    System.out.println(sites);
  }
}

上記の例では、実行出力の結果は次のとおりです。

[Google, Runoob, Taobao, Weibo]

アクセス要素

ArrayListの要素にアクセスするには、get()メソッドを使用できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    System.out.println(sites.get(1)); // 访问第二个元素
  }
}

:配列のインデックス値は0から始まります。

上記の例では、実行出力の結果は次のとおりです。

Runoob

要素を変更する

ArrayListの要素を変更する場合は、set()メソッドを使用できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    sites.set(2, "Wiki"); // 第一个参数为索引位置,第二个为要修改的值
    System.out.println(sites);
  }
}

上記の例では、実行出力の結果は次のとおりです。

[Google, Runoob, Wiki, Weibo]

要素を削除

ArrayListの要素を削除する場合は、remove()メソッドを使用できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    sites.remove(3); // 删除第四个元素
    System.out.println(sites);
  }
}

上記の例では、実行出力の結果は次のとおりです。

[Google, Runoob, Taobao]

サイズを計算する

ArrayListの要素数をカウントする場合は、size()メソッドを使用できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    System.out.println(sites.size());
  }
}

上記の例では、実行出力の結果は次のとおりです。

4

配列のリストを繰り返し処理します

を使用して、配列リストの要素を反復処理できます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    for (int i = 0; i < sites.size(); i++) {
    
    
      System.out.println(sites.get(i));
    }
  }
}

上記の例では、実行出力の結果は次のとおりです。

Google
Runoob
Taobao
Weibo

for-eachを使用して、要素を反復することもできます。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Weibo");
    for (String i : sites) {
    
    
      System.out.println(i);
    }
  }
}

上記の例では、実行出力の結果は次のとおりです。

Google
Runoob
Taobao
Weibo

その他の参照型

ArrayListの要素は実際にはオブジェクトです。上記の例では、配列リストの要素はすべてString型の文字列です。

他のタイプを保存したいが、参照データタイプのみを格納したい場合は、基本タイプのパッケージングクラスを使用する必要があります。

基本タイプに対応するパッケージングクラステーブルは次のとおりです。

ベーシックタイプ 参照型
ブール値 ブール値
バイト バイト
ショート ショート
int 整数
長いです 長いです
浮く 浮く
ダブル ダブル
char キャラクター

さらに、BigIntegerとBigDecimalは高精度の演算に使用されます。BigIntegerは任意精度の整数をサポートし、参照型でもありますが、対応する基本型はありません。

ArrayList<Integer> li=new Arraylist<>();     // 存放整数元素
ArrayList<Character> li=new Arraylist<>();   // 存放字符元素

次の例では、ArrayListを使用して数値を格納します(整数型を使用)。

インスタンス

import java.util.ArrayList;

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
    
    
      System.out.println(i);
    }
  }
}

上記の例では、実行出力の結果は次のとおりです。

10
15
20
25

ArrayListソート

Collectionsクラスも非常に便利なクラスであり、java.utilパッケージにあります。提供されているsort()メソッドは、文字または数字のリストをソートできます。

次の例では、文字を並べ替えます。

インスタンス

import java.util.ArrayList;
import java.util.Collections; // 引入 Collections 类

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<String> sites = new ArrayList<String>();
    sites.add("Taobao");
    sites.add("Wiki");
    sites.add("Runoob");
    sites.add("Weibo");
    sites.add("Google");
    Collections.sort(sites); // 字母排序
    for (String i : sites) {
    
    
      System.out.println(i);
    }
  }
}

上記の例では、実行出力の結果は次のとおりです。

Google
Runoob
Taobao
Weibo
Wiki

次の例では、数値を並べ替えます。

インスタンス

import java.util.ArrayList;
import java.util.Collections; // 引入 Collections 类

public class RunoobTest {
    
    
  public static void main(String[] args) {
    
    
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

​    Collections.sort(myNumbers); // 数字排序for (int i : myNumbers) {
    
    
​      System.out.println(i);}
  }
}

上記の例では、実行出力の結果は次のとおりです。

8
12
15
20
33
34
bers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

​    Collections.sort(myNumbers); // 数字排序

​    for (int i : myNumbers) {
​      System.out.println(i);
​    }
  }
}

上記の例では、実行出力の結果は次のとおりです。

8
12
15
20
33
34

おすすめ

転載: blog.csdn.net/weixin_43314519/article/details/107473328