Set型

Set型 #

Set型変数とはリストと似たデータ構造で、リストから要素の重複を除いたものを順不同で集めたデータ構造である。しかし、インデックスを指定して要素を取り出すことは一般的にはできない。
Set型変数についてを述べる。

JavaでのリストはSetクラスをインポートして利用する。
しかし、Setクラスはインターフェースであるため、そのまま使用することはできない。
使用するには、Setの具体的な定義が書いてあるクラスをSetのインスタンスに代入して使う。
このクラスは複数あるが、ここでは一般的なHashSetクラスを利用する。
なお、HashSetも使用するにはインポートする必要がある。
実行例を以下に示す。

import java.util.Set;
import java.util.HashSet;

class Main{
  public static void main(String args[]){

    Set<String> s = new HashSet<>();
    s.add("a"); //set.add()  でsetに要素を加える
    s.add("b");
    s.add("c");
    s.add("a"); //"a"は既に入っているので、入らない

    System.out.println(s);
  }
}

実行結果

$ java Main
[a, b, c]

PythonでSet型変数を作るには中括弧 {} または set 関数を利用する。(set関数を利用する場合は文字列またはリストを入力する)
実行例を以下に示す。

>>> 
>>> a = {'a','b','c','a','b'}
>>> a
{'a', 'b', 'c'}
>>> 
>>> 
>>> b = set('abcab')
>>> b
{'a', 'b', 'c'}
>>>