Javaのセット:Javaセットインターフェイスの操作方法を知っている



Javaで設定されるのは、順序付けされていない要素のコレクションです。重複する値は保存できません。この記事を読んで、Javaセットコレクションについてすべて学びましょう。

Java Collection Frameworkには多数のインターフェースが含まれており、そのうちの1つがSetInterfaceです。この記事では、SetsInの詳細を紹介します。 。この記事で取り上げる指針は次のとおりです。

Javaのセット

セットは、重複する値を格納できない順序付けされていない要素のコレクションとして定義されます。コレクションを拡張し、したがって、 Setインターフェースで利用できます。これは、HashSet、LinkedHashSet、またはTreeSortによって実装されます。





セット-Javaコレクション-Edureka

これらの実装はそれぞれ、セットを反復している間、主に要素の順序、および要素の挿入とアクセスにかかる時間に関して、異なる動作をします。



    • ハッシュセットは セットの反復中の要素の順序についての保証はありません。
    • LinkedHashSet 一方、要素を反復している間、要素の順序についての保証を提供します。
    • TreeSet 保証を提供しますが、セットは自然な順序に従って、または特定のコンパレータの実装によってソートされます。

セットを作成する方法は?

次のコードは、新しいセットを作成する方法を定義しています。

Set num = new HashSet()



使用しました ジェネリック 整数型のセットを宣言します。

Javaでメソッドを設定します。

次のようなセットに対して複数の操作を実行できます。

メソッドの追加

addメソッドは要素をに挿入します 。以下のコードでは、名前のセットを挿入します。

Set strName = new HashSet()strName.add( 'John')strName.add( 'Doe')System.out.println(strName)

出力:

[ジョン・ドウ]

メソッドの削除

このメソッドは、指定された要素をセットから削除します。

importjava.util。* public class Main {public static void main(String args []){//空のセットセットの作成set = new HashSet()//セットへの要素の追加set.add( 'John')set .add( 'Doe')//セットを表示しますSystem.out.println( 'Set:' + set)// remove()メソッドを使用して要素「Doe」を削除しますset.remove( 'Doe')//変更されたセットSystem.out.println( 'Set:' + set)}}

出力:

セット:[John、Doe]

セット:[ジョン]

空のメソッドです

このメソッドチェックは、 空ではありません。セットが空の場合はtrueを返し、そうでない場合はfalseを返します。

import java.io. * importjava.util。* public class Main {public static void main(String args []){Set javaSet = new HashSet()// Setに要素を追加するjavaSet.add( 'John')javaSet .add( 'Doe')//セットを表示しますSystem.out.println( 'Set:' + javaSet)//セットが空かどうかを確認しますSystem.out.println( 'Empty Set:' + javaSet.isEmpty() )// clear()メソッドを使用してセットをクリアするjavaSet.clear()//セットが空かどうかを確認するSystem.out.println( 'Empty Set:' + javaSet.isEmpty())}}

出力:

セット:[John、Doe]

空のセット:false

対はJavaを持っています

空のセット:true

サイズ方式

size()メソッドは、セットのサイズ、つまりセットに存在する要素の数を返します。

c ++型変換
importjava.util。* public class Main {public static void main(String args []){//セットの作成Set set = new HashSet()set.add( 'John')set.add( 'Doe')System .out.println( 'Set:' + set)//送信されたSystem.out.println( 'セットのサイズ:' + set.size())}}のサイズを表示します。

出力:


セット:[John、Doe]

セットサイズ:2

セットを反復処理

次の方法で、セットに存在するすべての要素を反復処理できます。

importjava.util。* import java.util.HashSet public class Main {public static void main(String args []){// HashSetの作成HashSetjavaSet = new HashSet()javaSet.add( 'John')javaSet.add ( 'Doe')//セットの表示System.out.println( 'HashSet:' + javaSet)//イテレーターの作成イテレーターitr = javaSet.iterator()//反復後の値の表示System.out.println( 'イテレータ値: ')while(itr.hasNext()){System.out.println(itr.next())}}}

出力:

HashSet:[John、Doe]

イテレータ値:

ジョン

行う

セットで検索

contains()メソッドを使用して、セットに指定された要素が含まれているかどうかを判別します。要素が見つかった場合はtrueを返し、それ以外の場合はfalseを返します。

import java.io. * import java.util.HashSet public class Main {public static void main(String args []){// HashSetの作成HashSetjavaSet = new HashSet()javaSet.add( 'John')javaSet.add ( 'Doe')// HashSetの表示System.out.println( 'HashSet:' + javaSet)//セット内の「John」のチェックSystem.out.println( 'John in set:' + javaSet.contains( 'John'))//セット内の 'Hazel'をチェックしますSystem.out.println( 'Hazel in set:' + javaSet.contains( 'Hazel'))}}

出力:

HashSet:[John、Doe]

セットのジョン:true

セット内のヘーゼル:false

Javaのセットの基本操作

  • 連合: あるセットを別のセットに追加するには、Union操作を使用します
  • 交差点: 両方のセットの共通値を保持するために、共通部分演算を使用します。
  • 差: 一方のセットの値をもう一方のセットから削除するには、差分演算を使用します。

importjava.util。* public class Main {public static void main(String args []){Set d = new HashSet()d.addAll(Arrays.asList(new Integer [] {3、2、1、9、6 、4、0}))Set e = new HashSet()e.addAll(Arrays.asList(new Integer [] {3、1、9、5、2、0、7、}))//ユニオン演算Set union = new HashSet(d)union.addAll(e)System.out.println( 'Union:' + union)//交差操作セットintersection = new HashSet(d)intersection.retainAll(e)System.out.println( '交差: '+交差)//差分操作セット差分= new HashSet(d)difference.removeAll(e)System.out.println('差分: '+差分)}}

出力:

ユニオン:[0、1、2、3、4、5、6、7、9]

交差点:[0、1、2、3、9]

違い:[4、6]

メソッドとメソッドで説明されている操作により、セットインターフェイスは本質的に要素的で効率的になります。

これで、「Javaのセット」に関するこの記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。

質問がありますか? 「setsinjava」の記事のコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。