に 重複する要素を許可しないコレクションです。セットインターフェイスの最も一般的に使用される実装は、HashSet、TreeSet、およびLinkedHashSetです。この記事では、これらの実装の1つを検討します。LinkedHashSetin
以下にリストされているのは、この記事で説明されているトピックです。
LinkedHashSetとは何ですか?
LinkedHashSet は Javaのフレームワーク。基本的には、スーパークラスの子クラスまたは派生クラスです。 HashSet 。 HashSetとは次の点で異なります。
- ザ・ 要素の挿入順序 LinkedHashSetの作成中に保持されます。
- アン 基礎となるデータ構造 は、ハッシュテーブル(HashSet内)とリンクリストのハイブリッドです。
- 重複 LinkedHashSetでは許可されていません。
反復エージェントを介してLinkedHashSetをトラバースすると、要素は挿入されたのと同じ順序で返されます。以下に示すフローチャートは、インターフェースが セットする クラスを実装します LinkedHashSet に
この記事の冒頭で、LinkedHashSetがHashSetとどのように異なるかについて説明しました。いくつか見てみましょう LinkedHashSetの違いを理解するため。
挿入順序
これは、挿入順序が保持されるかどうかを示すLinkedHashSetのサンプルプログラムです。
Pythonのクラスとオブジェクトの例
importjava.util。* public class Method1 {public static void main(String args []){LinkedHashSet hs = new LinkedHashSet()// LinkedHashSetへの要素の追加hs.add( 'E')hs.add( 'd' )hs.add( 'u')hs.add( 'r')hs.add( 'e')hs.add( 'k')hs.add( 'a')//更新されたLinkedHashSetSystem.outを表示する.println( 'Updated LinkedHashSet:' + hs)}}
出力
更新されたLinkedHashSet:[E、d、u、r、e、k、a]
出力は、HashSetクラスとは対照的に、LinkedHashSetで挿入順序が保持されていることを明確に示しています。
冗長性
LinkedHashSetでは、重複する要素は許可されていません。イラストを見て、これが本当かどうかを確認しましょう。
importjava.util。* public class Method1 {public static void main(String args []){LinkedHashSet hs = new LinkedHashSet()// LinkedHashSetへの要素の追加hs.add( 'E')hs.add( 'E' )//重複要素の追加hs.add( 'd')hs.add( 'u')hs.add( 'r')hs.add( 'e')hs.add( 'k')hs.add ( 'a')hs.add( 'a')//重複要素の追加// LinkedHashSetの表示System.out.println( 'LinkedHashSet contains:' + hs)}}
LinkedHashSetに含まれるもの:[E、d、u、r、e、k、a]
したがって、重複は許可されず、挿入順序は保持されることに注意してください。LinkedHashSetは、キャッシュベースのアプリケーションの構築に広く使用されています。それでは、この「JavaのLinkedHashList」記事の次のトピックに進みましょう。
JavaLinkedHashSetの例
LinkedHashSetの使用を示すいくつかのサンプルプログラムを次に示します。
サイズの計算とLinkedHashSet内の要素の検索
importjava.util。* public class Example1 {public static void main(String args []){LinkedHashSet hs = new LinkedHashSet()// LinkedHashSetへの要素の追加hs.add( 'E')hs.add( 'd' )hs.add( 'u')hs.add( 'r')hs.add( 'e')hs.add( 'k')hs.add( 'a')// LinkedHashSetシステムのサイズを取得する.out.println( 'LinkedHashSetのサイズは' + hs.size())// LinkedHashSetに要素が含まれているかどうかを確認しますSystem.out.println( 'BはLinkedHashSetに存在しますか?:' + hs。 contains( 'B'))// LinkedHashSetに要素が含まれているかどうかの確認System.out.println( 'EはLinkedHashSetに存在しますか?:' + hs.contains( 'E'))}}
LinkedHashSetのサイズは7です。BはLinkedHashSetに存在しますか?:false EはLinkedHashSetに存在しますか?:true
要素がHashSetプログラムに存在する場合、 true 要素が見つからない場合、プログラムは戻ります false 。
LinkedHashSetからの要素の削除
importjava.util。* public class Example2 {public static void main(String args []){LinkedHashSet hs = new LinkedHashSet()// LinkedHashSetへの要素の追加hs.add( 'E')hs.add( 'd' )hs.add( 'u')hs.add( 'r')hs.add( 'e')hs.add( 'k')hs.add( 'a')System.out.println( 'Original LinkedHashSet : '+ hs)// LinkedHashSetから要素eを削除しますSystem.out.println(' Removal Status: '+ hs.remove(' e '))//更新されたLinkedHashSet System.out.println(' Updated LinkedHashSet: '+ hs)}}
出力
元のLinkedHashSet:[E、d、u、r、e、k、a]削除ステータス:true更新されたLinkedHashSet:[E、d、u、r、k、a]
ご覧のとおり、順序は変更されておらず、要素はセットから正常に削除されています。
これで、この「JavaでのLinkedHashSet」の記事は終わりです。私は願っています JavaLinkedHashSetクラス ここで説明した例は、LinkedHashSetプログラミングを開始するのに役立ちます。
できるだけ練習し、経験を元に戻してください。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます、このJavaインタビューの質問に加えてなるために、私たちはJava開発者になりたい学生と専門家のために設計されたカリキュラムを考え出します。
質問がありますか?この「JavaのLinkedHashSet」のコメントセクションで言及してください 記事と私たちはできるだけ早くあなたに返信します。