Javaでのリストとセットの違い
両方のインターフェイスの一覧表示と設定は、コレクションフレームワークに属しています。どちらのインターフェースもコレクションインターフェースを拡張します。これらは両方とも、オブジェクトのコレクションを単一のユニットとして格納するために使用されます。
jdk1.2より前は、オブジェクトを単一のユニットとしてグループ化するために、配列、ベクトル、およびハッシュテーブルを使用していました。
Sr。いいえ。 | キー | ||
---|---|---|---|
1 | 位置アクセス | リストは、コレクション内の要素への位置アクセスを提供します。 | Setは、コレクション内の要素への位置アクセスを提供しません |
2 | 実装 | リストの実装は、ArrayList、LinkedList、Vector、Stackです。 | セットインターフェイスの実装はHashSetとLinkedHashSetです |
3 | 複製 | 重複する要素をリストに保存できます。 | 重複する要素をセットに保存することはできません |
4 | 注文 | Listは、コレクション内の要素の挿入順序を維持します | セットは順序を維持しません |
5 | ヌル要素 | リストには複数のnull要素を格納できます | Setはnull要素を1つだけ格納できます |
リストの例
import java.util.List; import java.util.ArrayList; import java.util.LinkedList; public class ListExample { public static void main(String[] args) { List<String> al = new ArrayList<String>(); al.add("BMW"); al.add("Audi"); al.add("BMW"); System.out.println("List Elements: "); System.out.print(al); } }
出力
List Elements: [BMW, Audi, BMW]
セットの例
import java.util.Set; import java.util.HashSet; import java.util.TreeSet; public class SetExample { public static void main(String args[]) { int count[] = {2, 4, 3, 5}; Set<Integer> hset = new HashSet<Integer>(); try{ for(int i = 0; i<4; i++){ hset.add(count[i]); } System.out.println(hset); } catch(Exception e){ e.printStackTrace(); } } }
出力
[2, 4, 3, 5]
-
JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり
-
JavaでのIteratorとListIteratorの違い
Javaは、コレクションに格納されているデータを1つずつトラバースするために、これら2つのインターフェースを提供しました。イテレータとリストイテレータの内部実装により、それらは異なりますが、両方のイテレータの主なアジェンダは同じです。 IteratorとListIteratorの重要な違いは次のとおりです。 Sr。いいえ。 キー イテレータ ListIterator 1 該当する イテレータは、コレクションのタイプに関係なく、任意のコレクションをトラバースするために使用できます。 リストイテレータは、arraylist、linkedlistなどのリストコレクションが実装