リスト Java では、 注文されたコレクション 。これには、要素を挿入、更新、削除、検索するためのインデックスベースのメソッドが含まれています。重複した要素を含めることもできます。 null 要素をリストに格納することもできます。
List インターフェイスは次の場所にあります。java.utilパッケージを作成し、Collection インターフェイスを継承します。 ListIteratorインターフェースのファクトリです。 ListIterator を介して、リストを順方向と逆方向に反復できます。 Listインターフェースの実装クラスは以下の通りです。配列リスト、リンクリスト、スタックとベクトル。 ArrayList と LinkedList は Java プログラミングで広く使用されています。 Vector クラスは Java 5 以降非推奨になりました。
リストインターフェイスの宣言
public interface List extends Collection
Java リスト メソッド
方法 | 説明 | |
---|---|---|
void add(int インデックス, E 要素) | 指定された要素をリスト内の指定された位置に挿入するために使用されます。 | |
ブール値 add(E e) | 指定された要素をリストの末尾に追加するために使用されます。 | |
ブール値 addAll(コレクション c) | これは、指定されたコレクション内のすべての要素をリストの末尾に追加するために使用されます。 | |
boolean addAll(int インデックス, コレクション c) | これは、リストの指定された位置から開始して、指定されたコレクション内のすべての要素を追加するために使用されます。 | |
ボイドクリア() | このリストからすべての要素を削除するために使用されます。 | |
ブール値等しい(オブジェクト o) | 指定されたオブジェクトとリストの要素を比較するために使用されます。 | |
int ハッシュコード() | リストのハッシュ コード値を返すために使用されます。 | |
E get(int インデックス) | リストの特定の位置から要素をフェッチするために使用されます。 | |
ブール値 isEmpty() | リストが空の場合は true を返し、それ以外の場合は false を返します。 | |
int lastIndexOf(オブジェクト o) | このリスト内で指定された要素が最後に出現したインデックスを返すために使用されます。リストにこの要素が含まれていない場合は -1 を返します。 | |
オブジェクト[] toArray() | このリスト内のすべての要素を正しい順序で含む配列を返すために使用されます。 | |
T[] toArray(T[] a) | このリスト内のすべての要素を正しい順序で含む配列を返すために使用されます。 | |
ブール値には (オブジェクト o) が含まれます | リストに指定された要素が含まれている場合は true を返します | |
ブール値 containsAll(コレクション c) | リストに指定された要素がすべて含まれている場合は true を返します | |
intindexOf(オブジェクトo) | このリスト内で指定された要素が最初に出現するインデックスを返すために使用されます。リストにこの要素が含まれていない場合は -1 を返します。 | |
E 削除(int インデックス) | リスト内の指定された位置に存在する要素を削除するために使用されます。 | |
ブール値の削除(オブジェクトo) | これは、指定された要素の最初の出現を削除するために使用されます。 | |
ブール値 RemoveAll(コレクション c) | リストからすべての要素を削除するために使用されます。 | |
void replaceAll(UnaryOperator 演算子) | リストのすべての要素を指定された要素に置き換えるのに使用されます。 | |
void保持All(コレクションc) | これは、指定されたコレクションに存在するリスト内のすべての要素を保持するために使用されます。 | |
E set(int インデックス, E 要素) | これは、リスト内の指定された位置に存在する指定された要素を置換するために使用されます。 | |
void sort(コンパレータ c) | 指定されたコンパレータに基づいてリストの要素を並べ替えるのに使用されます。 | |
スプリッテレータ spliterator() | これは、リスト内の要素に対してスプリッテレータを作成するために使用されます。 | |
リスト subList(int fromIndex, int toIndex) | 指定された範囲内にあるすべての要素を取得するために使用されます。 | |
int サイズ() | リスト内に存在する要素の数を返すために使用されます。 |
Java リストと ArrayList
List はインターフェイスですが、ArrayList は List の実装クラスです。
リストの作成方法
ArrayList クラスと LinkedList クラスは、List インターフェイスの実装を提供します。リストを作成する例を見てみましょう。
//Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList();
つまり、任意のタイプのリストを作成できます。型の指定には ArrayList クラスと LinkedList クラスが使用されます。ここで、T はタイプを示します。
Java リストの例
ArrayList クラスを実装として使用する List の簡単な例を見てみましょう。
import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }今すぐテストしてください
出力:
Mango Apple Banana Grapes
配列をリストに変換する方法
list.add() メソッドを使用して配列を走査し、リストに要素を 1 つずつ追加することで、配列をリストに変換できます。配列要素を List に変換する簡単な例を見てみましょう。
import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } }今すぐテストしてください
出力:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
リストを配列に変換する方法
list.toArray() メソッドを呼び出すことで、リストを配列に変換できます。リスト要素を配列に変換する簡単な例を見てみましょう。
Linuxのショートカット
import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } }今すぐテストしてください
出力:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
リスト内の要素を取得および設定する
の get() メソッド は指定されたインデックスの要素を返しますが、 set() メソッド 要素を変更または置き換えます。
import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }今すぐテストしてください
出力:
Returning element: Apple Mango Dates Banana Grapes
リストの並べ替え方法
リストを並べ替えるにはさまざまな方法がありますが、ここでは Collections.sort() メソッドを使用してリスト要素を並べ替えます。の java.util パッケージはユーティリティ クラスを提供します コレクション これには静的メソッドsort()があります。を使用して、 コレクション.sort() メソッドを使用すると、任意のリストを簡単に並べ替えることができます。
import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } }
出力:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
Java ListIterator インターフェイス
ListIterator インターフェイスは、要素を前後方向に走査するために使用されます。
ListIterator インターフェイス宣言
public interface ListIterator extends Iterator
Java ListIterator インターフェースのメソッド:
方法 | 説明 |
---|---|
void add(E e) | このメソッドは、指定された要素をリストに挿入します。 |
ブール値 hasNext() | リストを順方向に走査しているときに、リスト反復子にさらに多くの要素がある場合、このメソッドは true を返します。 |
E next() | このメソッドはリスト内の次の要素を返し、カーソル位置を進めます。 |
int nextIndex() | このメソッドは、後続の next() の呼び出しによって返される要素のインデックスを返します。 |
ブール値 hasPrevious() | リストを逆方向に走査しているときに、このリスト反復子にさらに多くの要素がある場合、このメソッドは true を返します。 |
E 前() | このメソッドはリスト内の前の要素を返し、カーソル位置を後方に移動します。 |
EpreviousIndex() | このメソッドは、後続のprevious()の呼び出しによって返される要素のインデックスを返します。 |
無効な削除() | このメソッドは、next() メソッドまたはprevious() メソッドによって返されたリストから最後の要素を削除します。 |
void set(E e) | このメソッドは、next() またはprevious() メソッドによって返された最後の要素を指定された要素に置き換えます。 |
ListIterator インターフェイスの例
import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } }
出力:
Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit
リストの例:書籍
書籍を追加する List の例を見てみましょう。
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }今すぐテストしてください
出力:
tostringメソッドJava
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
関連トピック
Java で ArrayList と LinkedList を使用する場合
ArrayList と Vector の違い
JavaでArrayListを逆にする方法
Java で ArrayList と LinkedList を使用する場合
ArrayList を読み取り専用にする方法
JavaのArrayListの配列の長さとsize()の違い
Javaのサンプルコード
Java で ArrayList を同期する方法
JavaでArrayListをArrayに変換し、ArrayをArrayListに変換する方法
Java における配列と ArrayList
Java ArrayList を降順に並べ替える方法
Java で ArrayList から重複を削除する方法