ホーム > Java > 第11章-4 Set

Java -Set-

Setの利用

Setは、ユニーク(重複のない)値のコレクションです。

Setインタフェースの主なメソッド
メソッド 説明
boolean add(E e) 指定された要素がセット内になかった場合、セットに追加します。
void clear() セットからすべての要素を削除します。
boolean contains(Object o) セットが、指定された要素を保持している場合に true を返します。
Iterator<E> iterator() セット内の各要素についての反復子を返します。
boolean remove(Object o) 指定された要素がセット内にあった場合、セットから削除します 。
int size() セット内の要素数を返します。
Object[] toArray() セット内のすべての要素が格納されている配列を返します。
<T> T[] toArray(T[] a) セット内のすべての要素を格納している配列を返します。
String型のSetの例

Set <String> set = new HashSet <String> ();

 ※ArrayList同様にコレクションフレームワークを利用する場合は、このようにインタフェースで受けることが一般的です。

HashSet サンプル1

  1. import java.util.HashSet;
  2. import java.util.Set;
  3. public class SetSample1 {
  4. public static void main(String[] args) {
  5. Set<String> set=new HashSet<String>();
  6. set.add("東京");
  7. set.add("大阪");
  8. set.add("福岡");
  9. set.add("大阪");
  10. for(String item:set){
  11. System.out.println(item);
  12. }
  13. }
  14. }

実行結果

  大阪
  東京
  福岡

※ 大阪を重複で登録できません。

Set実装クラスの機能比較

Setの代表各は、HashSetです。
これに対して、LinkedHashSetは格納順を覚えているSetです。
また、TreeSetは、自然順序など何らかの順序で整列しているSetです。

Setサンプル2-1(HashSetの場合)

  1. import java.util.HashSet;
  2. import java.util.Set;
  3. public class SetSample2_1 {
  4. public static void main(String[] args) {
  5. Set<String> set=new HashSet<String>();
  6. set.add("お");
  7. set.add("え");
  8. set.add("う");
  9. set.add("い");
  10. set.add("あ");
  11. for(String str:set){
  12. System.out.println(str);
  13. }
  14. }
  15. }

実行結果

  う
  い
  あ
  お
  え
	
    ※ 出力結果はランダムになります。

Setサンプル2-2(LinkedHashSetの場合)

  1. import java.util.LinkedHashSet;
  2. import java.util.Set;
  3. public class SetSample2_2 {
  4. public static void main(String[] args) {
  5. Set<String> set=new LinkedHashSet<String>();
  6. set.add("お");
  7. set.add("え");
  8. set.add("う");
  9. set.add("い");
  10. set.add("あ");
  11. for(String str:set){
  12. System.out.println(str);
  13. }
  14. }
  15. }

実行結果

  お
  え
  う
  い
  あ
	
	 ※ 出力結果は入力順になります。

Setサンプル2-3(TreeSetの場合)

  1. import java.util.Set;
  2. import java.util.TreeSet;
  3. public class SetSample2_3 {
  4. public static void main(String[] args) {
  5. Set<String> set=new TreeSet<String>();
  6. set.add("お");
  7. set.add("え");
  8. set.add("う");
  9. set.add("い");
  10. set.add("あ");
  11. for(String str:set){
  12. System.out.println(str);
  13. }
  14. }
  15. }

実行結果

  あ
  い
  う
  え
  お
	
	  ※ 出力結果は辞書順になります。
Copyright © 2018   MitoRoid  All Rights Reserved.