Javaにおけるデータ型と例外処理
Jim White
Java Developer
Set も Collection の一種Set は無順序(インデックスなし)List はピルケースのように各要素が特定の位置に入るSet は袋に無作為に入っているイメージ

Set を使う場面Set に含まれるかの確認List を使う場面Set には多くの実装HashSet は代表的HashSetSet より高速Set よりメモリ消費が多いnull を1つだけ格納可能
HashSet を作成HashSet<String> set = new HashSet<String>();
HashSet は java.util パッケージにありますimport java.util.HashSet.add() と .remove().remove() 後に .add().contains()null を許可set.add("France");
set.add("Japan");
set.add("Brazil");
set.add("Egypt");
set.add(null); // null is allowed
set.remove("Brazil");
boolean z =
set.contains("France"); // z is true
set.add("Japan"); // Ignored
System.out.println(set);
[null, Japan, Egypt, France]
Queue は先入れ先出し(FIFO)のデータ構造
Queue には複数の実装Queue 実装 ArrayBlockingQueue は java.util.concurrent パッケージjava.util ではないArrayBlockingQueue を作成import java.util.concurrent; // クラス先頭に記述
// 4 個の String を保存可能なキュー
ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(4);
.add(object) または .offer(object).add(object) は例外を送出.offer(object) は無視ArrayBlockingQueue<String> queue
= new ArrayBlockingQueue<String>(4);
queue.offer("France");
queue.offer("Japan");
queue.offer("Brazil");
queue.offer("Egypt");
queue.offer("China"); // Ignores China
// Causes IllegalStateException
// queue.add("China");
System.out.println(queue);
[France, Japan, Brazil, Egypt]
.remove() または .poll().remove() は例外を送出.poll() は null を返すnull は不許可ArrayBlockingQueue<String> queue
= new ArrayBlockingQueue<String>(4);
String x = queue.poll(); // x is null
// Causes NoSuchElementException
// String y = queue.remove();
queue.offer("France");
String next = queue.poll();
System.out.println(next);
France
Javaにおけるデータ型と例外処理