[Java] java.util Package-setコレクションクラス


Setコレクションクラス


Setインタフェースを実装するクラスをSet集合クラスと呼ぶ.

Set Collectionクラスフィーチャー

  • 要素の格納順序は保持されません.
  • などの要素の重複保存は許可されていません.
  • Setコレクションクラスのタイプ

  • HashSet
    内部にはHashMapインスタンスを使用して要素を格納します.
  • LinkedHashSet
  • TreeSet等
  • Setインスタンスの作成方法

  • Generickを使用しないでSetインスタンスを作成し、インスタンスをオブジェクトタイプとして保存します.
    すべてのクラスのインスタンスをSetインスタンスに格納できます.
    保存したインスタンスを返して使用する場合は、明示的なオブジェクト変換後に使用する必要があります.
  • HashSet set=new HashSet();
  • JENERICタイプにデータ型を渡し、Setインスタンスを生成する.
    Setインスタンスに保存できるのは、JENICタイプで渡されたデータ型インスタンスのみです.
    明示的なオブジェクト変換なしで保存されたインスタンスを返して使用します.
  • HashSet<String> set=new HashSet<String>();
    インタフェース(親)を使用して
  • 参照変数を作成することを推奨します.
    継承インタフェースのすべてのサブクラスのインスタンスを保存します.
    クラス間の結合度を低減し、メンテナンス効率を向上させる.
  • Set<String> set=new HashSet<String>();//HashSet으로 선언

    Setメソッドタイプ


    Set.add(E element)


    Setインスタンスに要素を追加する方法
    set.add("홍길동");
    //set.add(100);//제네릭 타입으로 전달된 자료형의 인스턴스가 아닌 경우 에러 발생
    set.add("임꺽정");
    set.add("전우치");
    set.add("일지매");

    Set.toString()


    Setインスタンスに格納されているすべての要素を文字列に変換して返す方法
    System.out.println(set.toString());//출력: [홍길동, 일지매, 전우치, 임꺽정]
    System.out.println(set);//출력: [홍길동, 일지매, 전우치, 임꺽정]

    Set.remove(E element)


    Setインスタンスに格納されている要素を削除する方法
    要素(インスタンス)の値を比較して削除します.
    set.remove("임꺽정");//set에서 임꺽정 제거

    Set.size()


    Setインスタンスに格納されている要素の数を返す方法
    System.out.println(set.size());//출력: 3

    Set.iterator()


    Setインスタンスに格納されている要素を再処理するためのスキューインスタンスを返す方法
    I奇形機:データ構造インスタンスを再処理するためのインターフェース-再表示器
    Iterator.hasNext():処理可能な要素を、歪みのインスタンスとして存在させる方法.
    (false:処理要素が存在しない、true:処理要素が存在する)
    Iterator<String> iterator=set.iterator();
    
    while(iterator.hasNext()) {
    // => 현재 요소를 반환하고 다음 요소로 이동 처리
    String str=iterator.next();
    	System.out.print(str+" ");
    }
    
    //변형된 for 구문은 내부적으로 Iterator 인스턴스를 사용하여 반복 처리
    for(String name:set) {
    	System.out.print(name+" ");
    }