教本に沿ってやってみたシリーズ、『第16章』その2。
≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ
set関連のクラスについて
- java.util.HashSetクラス
Setインタフェースを実装するコレクションクラスの中でもっとも一般的なクラス。set関連クラスは複数の情報を重複なく格納する集合(セット)というデータ構造を実現するためのもの。
「重複は許さないが、その順番は問わない」というデータの集まりを利用したい場合にSet関連クラスを用いる。
【Setインタフェースが備えるメソッド】
操作 | 戻り値 | メソッド | 機能 |
---|---|---|---|
追加 | boolean | add(★) | セットに要素を追加 |
取得 | なし | なし | なし |
調査 | int | size() | 格納されている要素数を返す |
boolean | isEmpty() | 要素数がゼロであるかを判定 | |
boolean | contains(★) | 指定要素が含まれているかを判定 | |
削除 | void | clear() | 要素をすべて削除する |
boolean | remove(★) | 指定した内容の要素を削除する | |
イテレータ | Iterator<★> | iterator() | 要素を順に処理するイテレータを返す |
★★★注意点★★★
- 重複した値を格納しようとすると無視される
【実行結果】
- set()やget()は使えない。
リストのように「〇番目」という概念がないため。
3.要素を1つずつ取り出す場合の順序は不明
セット要素には順序がないため、1つずつ取り出す場合、どのような順序で要素が取り出されるかは一切保証がされていない。
【実行結果】
順序が保証されるSetバリエーション
- LinkedHashSet : 値を格納した順序に整列
- TreeSet : 自然順序付けで整列