Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでのイテレータとコレクション


イテレータ

コレクションフレームワークでは、必要に応じて要素を取得するために使用されます。

public interface Iterator

「次へ」機能とともに使用して、次の要素に移動してアクセスできます。 「削除」機能を使用して、データ構造から要素を削除できます。

Iteratorに関連付けられている操作の数が少ないため、Collectionsと比較して高速です。

以下は、リストを操作するイテレータの例です-

mport java.io.*;
import java.util.*;
public class Demo{
   public static void main(String[] args){
      ArrayList<String> my_list = new ArrayList<String>();
      my_list.add("Its");
      my_list.add("a");
      my_list.add("sample");
      Iterator iterator = my_list.iterator();
      System.out.println("The list contains the following elements : ");
      while (iterator.hasNext())
      System.out.print(iterator.next() + ",");
      System.out.println();
   }
}

出力

The list contains the following elements :
Its,a,sample,

Demoという名前のクラスには、main関数が含まれています。ここでは、新しい配列リストが定義され、「追加」機能を使用して要素がリストに追加されます。イテレータが定義され、配列リストに対して繰り返され、要素が1つずつ繰り返されてから、コンソールに出力されます。

コレクション

public interface Collection<E> extends Iterable<E>

ここで、Eは返される要素のタイプを指します。コレクションフレームワークは、オブジェクトのグループを単一のエンティティとして表すために使用されるさまざまなクラスとインターフェイスを定義するために使用されます。

コレクションでは、「追加」機能、「反復」機能、「削除」機能、「クリア」機能を使用して、要素を追加したり、要素を1つずつ繰り返し処理したり、要素を削除したり、構造全体をクリアしたりできます。

例を見てみましょう-

import java.io.*;
import java.util.*;
public class Demo{
   public static void main (String[] args){
      int my_arr[] = new int[] {56, 78, 90};
      Vector<Integer> my_vect = new Vector();
      Hashtable<Integer, String> my_hashtab = new Hashtable();
      my_vect.addElement(0);
      my_vect.addElement(100);
      my_hashtab.put(0,"sample");
      my_hashtab.put(100,"only");
      System.out.print("The first element in the array is ");
      System.out.println(my_arr[0]);
      System.out.print("The first element in the vector is ");
      System.out.println(my_vect.elementAt(0));
      System.out.print("The first element in the hashtable is ");
      System.out.println(my_hashtab.get(0));
   }
}

出力

The first element in the array is 56
The first element in the vector is 0
The first element in the hashtable is sample

Demoという名前のクラスには、main関数が含まれています。ここでは、新しい整数配列が定義され、要素が追加されます。これで、ハッシュテーブルだけでなく、新しいベクターも定義されました。要素は、「addElement」関数を使用してベクトルに追加されます。要素は、「put」機能を使用してハッシュテーブルに追加されます。 3つの構造すべての要素がコンソールに印刷されます。


  1. JavaのJavaストリームコレクタtoCollection()

    JavaのCollectorsクラスのtoCollection()メソッドは、入力要素を新しいコレクションに遭遇順に蓄積するコレクターを返します。構文は次のとおりです- static <T,C extends Collection<T>> Collector<T,?,C> toCollection(Supplier<C> collectionFactory) ここで、T-は入力要素のタイプ、Cは結果のコレクションのタイプ、Supplierは結果のサプライヤー、コレクションファクトリは適切なタイプの新しい空のコレクションを返すサプライヤーです 例

  2. JavaのイテレータとListIterator?

    イテレータ はJavaのインターフェースであり、リストの要素を順方向にトラバースできます。 一方、 ListIterator イテレータを拡張するインターフェースです インターフェイスを使用すると、要素を順方向と逆方向の両方でトラバースできます。 イテレータ リスト、セットなどのコレクションタイプで使用できます 、およびキュー 一方、 ListIterator リストで使用できます コレクションのみ。 イテレータの重要な方法 インターフェースはhasNext()、next() およびremove() 一方、 ListIteratorの重要なメソッド インターフェースはadd() 、 has