JavaでのCollection.stream()。forEach()とCollection.forEach()の違い
Collection.stream()。forEach()とCollection.forEach()はどちらも、コレクションを反復処理するために使用されます。
Collection.forEach()は、コレクションのイテレータを使用します。ほとんどのコレクションでは、反復中に構造を変更することはできません。反復中に要素を追加または削除すると、すぐに同時変更例外がスローされます。 Collection.forEach()が同期されたコレクションを反復処理している場合、コレクションのセグメントをロックし、すべての呼び出しにわたって保持します。
Collection.stream()。forEach()はコレクションの反復にも使用されますが、最初にコレクションをストリームに変換し、次にコレクションのストリームを反復処理するため、処理順序は定義されていません。また、同時変更例外もスローされます。反復中に構造上の変更が発生した場合は、すぐに例外がスローされます。
Sr。いいえ。 | キー | Collection.forEach() | Collection.stream()。forEach() |
---|---|---|---|
1 | 基本 | Collection.forEach()はコレクションのイテレータを使用します | Collection.stream()。forEach()はコレクションの反復にも使用されますが、最初にコレクションをストリームに変換してから、コレクションのストリームを反復処理します |
2 | 注文 | Iterableが指定されている場合は、常にIterableの反復順序で実行されます。 | 順序が定義されていません |
3 | ロック | 同期されたコレクションで反復が発生している場合は、コレクションをロックし、すべての呼び出しで保持します | コレクションはロックされません |
4. | 例外 | コレクションで構造上の変更が発生した場合は、すぐに例外がスローされます | 例外は後でスローされます |
Example Collection.stream()。forEach
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List list= new ArrayList(); list.add("Ram"); list.add("TutorialPoints"); list.stream().forEach(System.out::print); } }
Example Collection.forEach
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List list= new ArrayList(); list.add("Ram"); list.add("TutorialPoints"); list.forEach(System.out::print); } }
-
Javaでのイテレータと列挙の違い
IteratorとEnumerationはどちらも、コレクションの要素をトラバースしてアクセスするためのカーソルです。どちらもコレクションフレームワークに属しています。列挙は、コレクションフレームワークのJDK1.2バージョンのJDK1.0およびIteratorで追加されました。 コレクション内の要素への読み取り専用アクセス権があるため、列挙型はコレクション内の構造を変更できません。次の方法があります: * hasMoreElements() * nextElement() 一方、イテレータはコレクション内の要素を読み取って削除できます。以下の方法があります- * hasNe
-
JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり