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

Java8のストリームとコレクションの違い


Javaコレクションフレームワークは、データのグループを保存および操作するために使用されます。これはメモリ内のデータ構造であり、コレクションに追加する前に、コレクション内のすべての要素を計算する必要があります。

Stream APIは、データのグループを処理するためにのみ使用されます。実際のコレクションは変更されず、パイプライン化されたメソッドに従って結果が提供されるだけです。

Sr。いいえ。 キー コレクション ストリーム
1
基本
データのグループを保存および操作するために使用されます
Stream APIは、データのグループを処理するためにのみ使用されます
2
パッケージ
このAPIのすべてのクラスとインターフェースはJava.utilパッケージに含まれています
このAPIのすべてのクラスとインターフェースはjava.util.streamパッケージに含まれています
3
熱心/怠惰
コレクション内のすべての要素が最初に計算されます。
ストリームでは、中間操作は怠惰です。
4。
データの変更
コレクションでは、要素を削除または追加できます。
ストリームを変更することはできません。
5
外部/内部イテレータ
コレクションは、コレクションに対して反復を実行します。
Streamは内部で反復を実行します。

コレクションの例

public class CollectiosExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      Comparator<String> com = (String o1, String o2)->o1.compareTo(o2);

      Collections.sort(laptopList,com);

      for (String name : laptopList) {
         System.out.println(name);
      }
   }
}

ストリームの例

public class StreamsExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      laptopList.stream().sorted().forEach(System.out::println);
   }
}

  1. Javaコレクションのnext()とhasNext()の違いは?

    Javaには、コレクションオブジェクトの要素を取得するためのIteratorクラスとListIteratorクラスが用意されています。 hasNext()メソッド hasNext() これらのインターフェイスのメソッドは、コレクションオブジェクトに次の要素がある場合はtrueを返し、そうでない場合はfalseを返します。 例 import java.util.ArrayList; import java.util.Iterator; public class hasNextExample{    public static void main(String[] arg

  2. JavaでのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり