ホームページ  >  記事  >  Java  >  Java でのリスト コレクションとその走査の詳細な説明

Java でのリスト コレクションとその走査の詳細な説明

高洛峰
高洛峰オリジナル
2017-01-22 15:35:261916ブラウズ

1. まず、List コレクションは、インターフェイスである Collection を継承します。

① コレクション (JDK1.2 バージョンで登場したコレクションフレームワーク)

② リスト: 順序付けされており、要素は繰り返し可能であるため、コレクションシステムはインデックスを持ちます。

よく使われるのは、このインターフェースを実装する ArrayList クラスと LinkedList クラスです

③ Arraylist: 基礎となるデータ構造は配列構造を使用します

特徴: クエリ速度は非常に速いですが、追加と削除はわずかに遅くなります。スレッドが同期していません

LinkedList: 基礎となる層はリンク リスト データ構造を使用します。

特徴: 追加と削除の速度は非常に速く、クエリはわずかに遅くなります。

ベクター: (JDK1.0 バージョンで登場) 最下層は配列データ構造とスレッド同期です。 ArrayList に置き換えられました。 (使用されなくなりました)

2. リストの 2 つの走査メソッド:

public class Demo {
  public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
     
    System.out.println("........第一种遍历方式:for遍历......");
    for (Object li : list) {
      System.out.println(li);
    }
     
    System.out.println("........第二种遍历方式:ListIterator迭代遍历......");
    ListIterator<String> it = list.listIterator();
    while (it.hasNext()) {
      Object obj = it.next();
      System.out.println(obj);
    }
  }
}

レンダリング:

Java でのリスト コレクションとその走査の詳細な説明

3. LinkList を使用してスタックまたはキューのデータ構造をシミュレートします。つまり: スタック: 先入れ先出し、キュー: 先入れ先出し

class Duilie{
  private LinkedList<Object> link;
  Duilie(){
    link = new LinkedList<Object>();
  }
  public void myAdd(Object obj){
    link.addFirst(obj);
   }
  public Object myGet(){
    return link.removeLast();//先进先出---若要改成先进后出,将removelast()改成removeFirst()
  }
  public boolean isNull(){
    return link.isEmpty();
  }
}
public class Demo2 {
  public static void main(String[] args) {
    Duilie dl = new Duilie();
    dl.myAdd("java01");
    dl.myAdd("java02");
    dl.myAdd("java03");
    dl.myAdd("java04");
    while(!dl.isNull()){
      System.out.println(dl.myGet());
    }
  }
}

レンダリング:

Java でのリスト コレクションとその走査の詳細な説明

上記は先入れ先出しに変更したい場合、以上がこの記事の全内容です。気に入っていただければ幸いです。

Java でのリスト コレクションとその走査の詳細な説明については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。