JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。
以下は、ArrayListとHashSetの重要な違いです。
Sr。いいえ。 | ArrayList | ||
---|---|---|---|
1 | 実装 | ArrayListはリストインターフェイスの実装です。 | 一方、HashSetは、セットインターフェイスの実装です。 |
2 | 内部実装 | ArrayListは、その実装のために配列を内部的に実装します。 | HashSetは、実装にHashmapを内部的に使用します。 |
3 | 要素の順序 | ArrayListは、挿入順序、つまり挿入されるオブジェクトの順序を維持します。 | HashSetは順序付けされていないコレクションであり、順序を維持しません。 |
4 | 重複 | ArrayListは、コレクション内で重複する値を許可します。 | 一方、ハッシュセットでは要素の重複は許可されていません。 |
5 | インデックスのパフォーマンス | ArrayListは、パフォーマンスのためにインデックスを使用します。つまり、インデックスベースのインデックスは、get(index)を呼び出してオブジェクトを取得するか、remove(index)を呼び出してオブジェクトを削除できます | HashSetは完全にオブジェクトに基づいており、get()メソッドも提供していません。 |
6 | Nullを許可 | 任意の数のnull値を制限なしでarraylistに挿入できます。 | 一方、ハッシュセットはコレクションにnull値を1つだけ許可し、その後はnull値を追加できません。 |
ArrayListとHashsetの例
JavaTester.java
import java.io.*; import java.util.*; public class JavaTester { public static void main(String[] args) throws IOException{ int n = 5; List<Integer> al = new ArrayList<>(n); for (int i = 1; i <= n; i++) { al.add(i); } System.out.println(al); al.remove(3); System.out.println(al); for (int i = 0; i < al.size(); i++) { System.out.print(al.get(i) + " "); } } }
出力
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
例
JavaTester.java
import java.util.HashSet; import java.util.Set; public class JavaTester { public static void main(String[] args){ Set<Integer> hs = new HashSet<>(); hs.add(1); hs.add(2); hs.add(3); hs.add(4); hs.add(4); for (Integer temp : hs) { System.out.print(temp + " "); } } }
出力
1 2 3 4
-
JavaのArrayList.clear()とArrayList.removeAll()の違いは?
JavaのArrayListクラスは、ListインターフェースのResizable-array実装です。 null値を許可します。 clear() このクラスのメソッドは、現在のListオブジェクトからすべての要素を削除します。 例 import java.util.ArrayList; public class ClearExample { public static void main(String[] args){ //Instantiating an ArrayList object &
-
JavaプログラミングにおけるArrayListとCopyOnWriteArrayListの違い。
ArrayListとCopyOnWriteArrayListはどちらも、JavaでのListインターフェースの実装です。ただし、特定の違いもあります。 以下は、ArrayListとCopyOnWriteArrayListの重要な違いです。 Sr。いいえ。 キー ArrayList CopyOnWriteArrayList 1 同期 ArrayListは本質的に同期されていません。 一方、 CopyOnWriteArrayListは本質的に同期されます。つまり、一度に1つのスレッドのみがオブジェクトにアクセスできます。 2 パフォーマンス ArrayList