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

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

  1. 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     &

  2. JavaプログラミングにおけるArrayListとCopyOnWriteArrayListの違い。

    ArrayListとCopyOnWriteArrayListはどちらも、JavaでのListインターフェースの実装です。ただし、特定の違いもあります。 以下は、ArrayListとCopyOnWriteArrayListの重要な違いです。 Sr。いいえ。 キー ArrayList CopyOnWriteArrayList 1 同期 ArrayListは本質的に同期されていません。 一方、 CopyOnWriteArrayListは本質的に同期されます。つまり、一度に1つのスレッドのみがオブジェクトにアクセスできます。 2 パフォーマンス ArrayList