Типи даних і винятки в Java
Jim White
Java Developer
Set — це теж різновид CollectionSet зазвичай не впорядковані (тобто без індексів)List — як пілюльниця: кожен об'єкт у своєму відсікуSet — як мішок з об'єктами: елементи лежать у довільному порядку

SetSetListSetHashSet — популярна реалізаціяHashSetSet для вставки, видалення та пошукуSetnull
HashSetHashSet<String> set = new HashSet<String>();
HashSet міститься в пакеті java.utilimport java.util.HashSet.add() і .remove() для додавання та видалення об'єктів.remove(), потім .add().contains() для перевірки на наявністьnullset.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)
QueueQueueArrayBlockingQueue у пакеті java.util.concurrentjava.utilArrayBlockingQueueimport java.util.concurrent; // На початку класу
// Створіть нову чергу, що зберігає 4 рядки
ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(4);
.add(object) або .offer(object) для додавання в хвіст.add(object) кидає виняток, якщо Queue заповнена.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() кидає виняток, коли Queue порожня.poll() повертає null, коли Queue порожня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