ホームページ >Java >&#&チュートリアル >Listの使い方の詳細コード説明

Listの使い方の詳細コード説明

Y2J
Y2Jオリジナル
2017-05-12 09:29:411433ブラウズ

Java の変数配列の原理は、新しい配列を継続的に作成し、元の配列を新しい配列に追加することです。Java List の使用法については、以下で詳しく説明します。必要な友達は参照してください

Java の変数配列の原理は、新しい配列を継続的に作成し、元の配列を新しい配列に追加することです。Java List の使用法については、以下で詳しく説明します。

  •  リスト: 要素は順番に並んでおり (保存方法に応じて削除できます。順序が崩れることはありません)、要素は繰り返すことができます (下付き文字 1 に 3 があってもよく、添字 2 に 3 を指定することもできます) コレクション システムにはインデックスがあるため

  •  ArrayList: 基礎となるデータ構造は配列構造を使用します (配列の長さは可変で、50% 拡張できます) (特徴的に、クエリは速いが、追加と削除は遅い) とスレッドは同期されません

  •  LinkedList: 基礎となるデータ構造はリンク リスト構造です (クエリが遅く、追加と削除が速いという特徴があります)

  •  ベクトル:基礎となるデータ構造は配列データ構造です。スレッド同期 (配列の長さは可変で、100% 拡張されます) (クエリと追加と削除は両方とも非常に遅いため、ArrayList に置き換えられました)

リスト: 独自のメソッド、任意のメソッドコーナーマークを操作できるのはこのシステム独自

boolean add(int index, E element)
boolean addAll(index,Collection)
public static void List_add(){
   ArrayList a1 = new ArrayList();
   a1.add("java");
   a1.add("php");//List集合中的元素可以重复
  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);
}

Modify 指定したインデックスset(int Index, E element)を持つ要素を変更した要素を返す

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

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));//获取集合中某一部分的元素,包含头不包含尾
}

List コレクションに固有の反復子: ListIterator (Iterator のサブインターフェイスです)

注:

反復中、コレクション内の要素は、コレクション

オブジェクトのメソッドを通じて操作できません。 そのため、イテレータを使用する場合、要素の作成にはイテレータ メソッドのみを使用できます。そのため、必要に応じて要素を判断、削除することしかできません。追加、変更などのその他の操作を行うには、そのサブインターフェイスである ListIterator を使用する必要があります。このインターフェイスは、List コレクション

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()){
     Object obj = it.next();
     if (obj.equals("java02"))
     //al.add("java008");//会出现并发异常,因为迭代器正在操作集合,不能再用集合的方法操作集合了
     it.remove();//将java02的引用从集合中删除了
     System.out.println("obj:"+obj);
    }
    */  
  //只有List的listIterator有增,删,改,查这些功能,因为只有List有索引
    ListIterator li = a1.listIterator();
     while (li.hasNext()){
     if(li.next().equals("java02"))
     //li.add("java009");
     li.set("java006");
    }  
  }
}

Vector の listIterator メソッドを通じてのみ取得できます。列挙は、取得する独自の方法です。イテレータに非常に似ている (実際、列挙と反復は同じです) ベクトルはイテレータに置き換えられました

 public class VectorDemo {
   public static void main(String[] args) {
     Vector 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(); 先頭に要素を追加します

addLast();末尾の要素

getFirst(); getLast();

要素を取得しますが、削除しません。コレクションに要素が無い場合はNoSuchElementExceptionが発生します

removeFirst();removeLast();

要素は取得しますが、要素は削除します。コレクションに要素が存在しない場合、NoSuchElementException が発生します

JDK1.6 で代替メソッドが登場しました

offerFirst(); offerLast();
peekFirst(); peekLast(); 获取元素,但是元素不被删除。如果集合中没有元素,会返回null
pollFirst(); pollLast(); 获取元素,但是元素被删除。如果集合中没有元素,会返回null
 public class 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()));
    }
  }
}

[関連推奨事項]

1

Java 無料ビデオチュートリアル

2. 3.

JAVA 入門ビデオチュートリアル

以上がListの使い方の詳細コード説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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