List インターフェイスは Collection インターフェイスを継承し、単一列のコレクションです。List コレクションでは重複要素が許可されます。すべての要素は線形形式で格納されます。プログラムでは、コレクション内の指定された要素にインデックスを介してアクセスします。要素は順番に格納されます。つまり、要素の格納順序は取得順序と一致します。
ArrayList は、ArrayList 内に可変長配列オブジェクトをカプセル化する List インターフェイスの実装クラスです。
package 集合类; import java.util.ArrayList; import java.util.Arrays; public class FengZhuanglei { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("stu1"); list.add("stu2"); list.add("stu3"); list.add("stu4"); System.out.println("集合的长度:"+list.size()); System.out.println("第二个元素是:"+list.get(1)); } }
実行結果
実行結果から、ArrayList コレクションの最下層で使用されているため、ArrayList と配列インデックスの両方が 0 から始まることがわかります。要素を保存する際に、指定した位置の要素を追加または削除すると、新しい配列が作成されるため、比較的効率が悪く、大量の追加や削除には適していません。インデックスを作成することで、要素の検索がさらに困難になり、効率が高まります。
ArrayList コレクションの要素の追加と削除の効率が低いという問題を解決するために、LinkList コレクションが導入されました。 LinkList コレクション。リンクされたリストの各要素。それらはすべて参照を使用して前後の要素を記憶するため、すべての要素を接続できます。新しい要素を挿入するときは、要素間の参照関係を変更するだけで済み、要素の数が増える可能性があります。要素の数 追加および削除操作の効率。
package 集合类; import java.util.LinkedList; public class LianBiao { public static void main(String[] args) { LinkedList link =new LinkedList(); link.add("stu1"); link.add("stu2"); link.add("stu3"); link.add("stu4"); //打印集合中的元素 System.out.println(link.toString()); //在集合中插入元素 link.add(3,"Student"); //在集合的第一个位置插入元素 link.addFirst("李龙"); System.out.println(link); //取出集合中的第一个元素 System.out.println(link.getFirst()); //删除集合中的元素 link.remove(3); //删除集合中的第一个元素 link.removeFirst(); System.out.println(link); } }
実行結果
Iterator は主に Collection 内の要素を走査するために使用されます。Iterator は iterator とも呼ばれます。
package 集合类; import java.util.ArrayList; import java.util.Iterator; public class DieDai { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("好好学习"); list.add("做一个优秀的共产主义接班人"); list.add("为人民服务"); list.add("做一个对社会有用的人"); Iterator it= list.iterator(); //判断ArrayList是否存在下一个元素 while(it.hasNext()){ Object obj=it.next(); System.out.println(obj); } } }
実行結果
##イテレータ走査のプロセスでは、まず hasNext() メソッドを使用して、コレクション内に次の要素がまだあるかどうかを確認します。要素があり、その要素が next() メソッドによって取り出される場合。 foreach ループfor ループを拡張します。foreach ループは、ループの長さを取得する必要も、インデックスを介してループ内の要素にアクセスする必要もありません。foreach は自動的に実行されます。ループ内の各要素を走査します。package 集合类; import java.util.ArrayList; public class FE { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("hello"); list.add("world"); for(Object obj: list){ System.out.println(obj); } } }実行結果 拡張された for ループはコレクションを走査する過程で非常に便利であることがわかります。ループ条件はありません。反復なし、ループ 回数はループ内の要素の数によって決まります。ループするたびに、拡張 for ループは変数を通じて現在のループの要素を記憶し、それによってセット内の要素をそれぞれ出力します。
以上がJava Listインターフェース、Iteratorインターフェース、foreachループの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。