| - リスト:要素が順序付けられます(蓄積されたときに出て、順序は繰り返されません(コーナーマーク1に3つあり、3つあります。コーナーマーク2)このセットのため、システムにはインデックスがあります、
| -ArrayList:基礎となるデータ構造は、配列構造(配列の長さは変数よりも50%長い)を使用します(機能は非常に高速ですが、追加と削除は遅い)スレッドは同期していません
| -LinkedList:基礎となるデータ構造はリンクリスト構造です(特性はクエリが遅く、追加と削除が速いです)
| - ベクトル:基礎となるレイヤーは、配列データ構造スレッドの同期です(配列の長さは変数によって100%拡張されます)(クエリと追加と削除の両方が非常に遅く、アレイリストに置き換えられました)
リスト:角度マークを動作させる方法は、このシステムのユニークな方法です。
増加
コードコピーは次のとおりです。
Boolean Add(int index、e要素)
Boolean Addall(インデックス、コレクション)
コードコピーは次のとおりです。
public static void list_add(){
arrayList a1 = new ArrayList();
a1.add( "java");
a1.add( "php"); //リストコレクションの要素を繰り返すことができます
a1.add( "。net");
System.out.println( "オリジナルコレクション:"+a1);
a1.add(1、 "flash");
a1.add(0、 "ps");
System.out.println(a1);
arrayList a2 = new ArrayList();
a2.add( "javascript");
a2.add( "3dmax");
a2.add( "ibm");
a1.addall(0、a2);
System.out.println(a1);
}
指定された場所で要素を削除します
コードコピーは次のとおりです。
Boolean Remove(int index)
コードコピーは次のとおりです。
public static void list_remove(){
arrayList a1 = new ArrayList();
a1.add( "javascript");
a1.add( "php");
a1.add( "flash");
System.out.println( "オリジナルコレクション:"+a1);
a1.remove(0);
System.out.println(a1);
}
指定された角度セット(intインデックス、e要素)の要素を変更すると、返された要素が変更されます
コードコピーは次のとおりです。
public static void list_set(){
arrayList a1 = new ArrayList();
a1.add( "javascript");
a1.add( "php");
a1.add( "。net");
System.out.println( "オリジナルコレクション:"+a1);
a1.set(1、 "falsh");
System.out.println(a1);
}
チェック
コードコピーは次のとおりです。
get(int index)リスト内の指定された位置に要素を返します
Sublist(int fromindex、int toindex)は、fromindex(を含む)とToindex(除外)の間にいくつかの要素を返します。
コードコピーは次のとおりです。
public static void list_get(){
arrayList a1 = new ArrayList();
a1.add( "java");
a1.add( "php");
a1.add( "flash");
System.out.println(a1.get(0)); //指定された角度の要素を取得します。
System.out.println(a1.sublist(1、3)); //ヘッドを含むが尾を含むコレクションの特定の部分で要素を取得します
}
リストコレクション固有のイテレーター:listiterator(iteratorのサブインターフェイスです)
知らせ:
反復中、コレクション内の要素をコレクションオブジェクトの方法で操作することはできません
concurrentModificationException例外(同時例外)が発生するためです
したがって、反復時には、イテレーターメソッドのみを使用して要素を作成できます
Iteratorメソッドは制限されているため、要素のみを判断、削除、削除することができます。
追加、変更など、他の操作が必要な場合は、サブインターフェイス、Listiteratorを使用する必要があります
このインターフェイスは、リストコレクションのListiteratorメソッドを通じてのみ取得できます
コードコピーは次のとおりです。
public class listiteratordemo {
public static void main(string [] args){
arrayList a1 = new ArrayList();
a1.add( "Java01");
a1.add( "Java02");
a1.add( "java03");
a1.add( "java04");
System.out.println( "オリジナルコレクションは:"+a1);
/*反復プロセス中に要素を追加または削除する準備
iterator it = al.iterator();
while(it.hasnext()){
オブジェクトobj = it.next();
if(obj.equals( "java02"))
//al.add("Java008");// CONCURRENT例外が発生し、Iteratorがコレクションを操作しており、コレクションメソッドを使用してコレクションを操作できなくなります。
it.Remove(); //コレクションからJava02リファレンスを削除します
System.out.println( "obj:"+obj);
}
*/
//リストのlistiteratorのみに、リストのみがインデックスがあるため、追加、削除、変更、およびチェックの関数があります
listiterator li = a1.listiterator();
while(li.hasnext()){
if(li.next()。equals( "java02"))
//li.add("java009 ");
li.set( "Java006");
}
}
}
ベクトル:列挙は、ベクターでフェッチするユニークな方法であり、イテレーター(実際、列挙と反復は同じ)に非常に似ており、イテレーターに置き換えられています。
コードコピーは次のとおりです。
パブリッククラスvectordemo {
public static void main(string [] args){
ベクトルv = new Vector();
v.add( "Java01");
v.add( "Java02");
v.add( "Java03");
v.add( "Java04");
for(enumeration en = v.elements(); en.hasmoreelements();){
system.out.println(en.nextelement());
}
}
}
LinkedList:
特別な方法:
addfirst();
getFirst();コレクションに要素がない場合、nosuchelementexceptionが表示されます
removefirst();コレクションに要素がない場合、nosuchelementexceptionが表示されます
JDK1.6には、代替アプローチが表示されます
offerfirst();
peekfirst();コレクションに要素がない場合、nullは返されます
Pollfirst();コレクションに要素がない場合、nullは返されます
コードコピーは次のとおりです。
パブリッククラスLinkedListDemo {
public static void main(string [] args){
linkedlist link = new linkedList();
link.add( "Java01");
link.add( "Java02");
link.add( "Java03");
link.add( "Java04");
while(!link.isempty()){
system.out.println((link.removelast()));
}
}
}