Collectionsクラスには要素を一つしか持たないコレクションを作成するメソッドが用意されている。
- singleton
- singletonList
- singletonMap
それぞれに要素一つのSet、List、Mapを返す。
import java.util.Collections;
import java.util.Set;
import java.util.List;
import java.util.Map;
import java.util.Collections.ImmutableSet;
class CollectionsSingleton {
public static void main(String args[]) {
Set<String> s = Collections.singleton("a");
// s.add("b"); // UnsupportedOperationException
System.out.println(s);
List<String> l = Collections.singletonList("a");
System.out.println(l);
Map<Integer, String> m = Collections.singletonMap(0, "a");
System.out.println(m);
}
}
返されるコレクションは不変。
要素の追加などを行おうとすると、UnsupportedOperationExceptionがスローされる。