Java での ArrayList の使用
ArrayList は、List インターフェイスを実装する動的配列です。このインターフェイスのユーザーは、挿入された要素を完全に制御し、位置によってそれらにアクセスし、リスト内の要素を検索します.ArrayListは、Listのすべてのメソッドを実装し、それ以上に、クラスには、リストを格納するために使用される配列のサイズを操作するなどの独自のメソッドがあります。このクラスは、 Vector.
Arraylistはデータを格納する配列を使用し、この配列には要素が挿入されるたびに自動的に適応する機能があります。多数の項目を追加する前に ArrayList の容量を増やしてサイズを確保する ensureCapacity メソッドがあります。
リストには複数のスレッドが同時にアクセスします。これは、別のスレッドがリストのサイズにアクセスして更新しようとしているため、変更、挿入、削除に関して問題が発生する可能性があります。解決策は、Collections.synchronizedList.
リストリスト = Collections.synchronizedList(new ArrayList(...));
イテレータまたはlistIteratorクラスでリストを参照するが、リストが変更されている場合:削除、挿入...イテレータを作成した後、後者は例外ConcurrentModificationExceptionです。解決策は、イテレータの作成後およびread.
Constructors
ArrayListには3つのコンストラクタがあります:- ArrayList(): 初期サイズが 10.
- ArrayList(Collection extends E> c): データ・コレクションからリストを作成し、コレクションがnullの場合に例外をスローします #0b5394<><NullPointerException>ArrayList(int capacite): 初期サイズを設定してリストを作成し、サイズが負の場合はIllegalArgumentExceptionをスローします.
Methods
1) add(Object o): end.list.add("Hello");
2) add(int indice, Object o): 中央に挿入.
list.add(3, "e"); |
3) addAll(Collection c): コレクションを追加.
ArrayList l1 = new ArrayList(); l1.add("単語"); l1.add(12); l1.add(10.4f); list.addAll(l1); |
4) addAll(int index, Collection c): 中央にコレクションを追加
list.addAll(3, l1); |
5) clear(): すべての要素を削除
6) contains(オブジェクトo): 要素メンバーシップ.
boolean b = list.contains(o) |
8) ensureCapacity(int capacite): 容量を増やし、最小容量で多数の要素を保持できるようにします.
list.ensureCapacity(10); |
9) get(int index): オブジェクトを 1 つの位置に戻します.
system.out.println(list.get(2)); |
10) indexOf(Object o): 要素のインデックスを返す
int k = indexOf("o4"); |
11) isEmpty(): リストが空の場合に true を返します.
boolean b = list.isEmpty(); |
12) remove(Object o): o.
boolean b = list.remove("o4"); |
13) removeAll(コレクション>c): 引数として渡されたコレクション内の要素を削除します.
AarrayList<文字列>lc = new ArrayListです<文字列>(); lc です。add("o1"); lc です。add("o2"); lc です。add("o3"); list.removeAll(lc); |
14) removeRange( int start, int end): 開始と終了の添字の間にある要素を削除します。
list.removeRange(3,8); |
15) retainsAll(コレクション>c): コレクション内の要素のみを保持します c.
16) set(int index, Object o): オブジェクトを特定の位置に変更
list.set(3, "o5"); |
17) size(): 要素数を返す.
18) subList(int start, int end): 先頭と末尾の間のフラグメントを返します。
19) toArray(): 1 次元の配列を返す
String[] t = list.toArray(); |
20) trimToSize(): ストレージ容量を最大レベルまで削減します。
ArrayListの参照方法
ArrayListは2つの方法で参照できます:1)ループfor< / span >< / h4>for(int i = 0; i < list.size(); i++)
system.out.println(list.get(i));
または、たとえば、型がわかっている場合:
for(整数:リスト)
system.out.println(数値);
2) イテレータ + while
Iterator itr = list.iterator();
while(itr.hasNext())
system.out.println(itr.next());
例
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
//初期容量が 4
ArrayList str = new ArrayList(4);
//追加
str.add("o1");
str.add("o2");
str.add("o3");
str.add("o4");
//いくつかのメソッドを見てきました
System.out.println("index of "+"o2: "+str.indexOf("o2"));
System.out.println("o3 は存在しますか?"+str.contains("o3"));
System.out.println("o2 が正常に削除されました: "+str.remove("o2"));
System.out.println("size: "+str.size());
System.out.println("[1, 3] : "+str.subList(1, 3));
//parcours
for(String s : str)
System.out.println(s);
str.clear();
System.out.println("リストが空ですか?"+str.isEmpty());
}
}
References:
javadoc:ArrayList
system.out.println(list.get(i));
または、たとえば、型がわかっている場合:
for(整数:リスト)
system.out.println(数値);
while(itr.hasNext())
system.out.println(itr.next());
public class Test {
public static void main(String[] args) {
//初期容量が 4
ArrayList
//追加
str.add("o1");
str.add("o2");
str.add("o3");
str.add("o4");
//いくつかのメソッドを見てきました
System.out.println("index of "+"o2: "+str.indexOf("o2"));
System.out.println("o3 は存在しますか?"+str.contains("o3"));
System.out.println("o2 が正常に削除されました: "+str.remove("o2"));
System.out.println("size: "+str.size());
System.out.println("[1, 3] : "+str.subList(1, 3));
//parcours
for(String s : str)
System.out.println(s);
str.clear();
System.out.println("リストが空ですか?"+str.isEmpty());
}
}