Kiểu dữ liệu và Exceptions trong Java
Jim White
Java Developer
Set cũng là một loại CollectionSet thường không có thứ tự (nên không có chỉ mục)List giống hộp thuốc chia ngăn; mỗi phần tử ở một vị trí xác địnhSet giống bao tải; phần tử nằm ngẫu nhiên trong bao

SetSetListSetHashSet là hiện thực phổ biếnHashSetSet khác khi chèn, xóa, tra cứuSet khácnull
HashSetHashSet<String> set = new HashSet<String>();
HashSet nằm trong gói java.utilimport java.util.HashSet.add() và .remove() để thêm, xóa phần tử.remove() rồi .add() để thay thế một phần tử.contains() để kiểm tra phần tử đã tồn tạinullset.add("France");
set.add("Japan");
set.add("Brazil");
set.add("Egypt");
set.add(null); // null được phép
set.remove("Brazil");
boolean z =
set.contains("France"); // z là true
set.add("Japan"); // Bị bỏ qua
System.out.println(set);
[null, Japan, Egypt, France]
Queue xử lý theo nguyên tắc vào trước ra trước (FIFO)
QueueQueue phổ biến ArrayBlockingQueue nằm trong gói java.util.concurrentjava.utilArrayBlockingQueueimport java.util.concurrent; // Ở đầu lớp
// Tạo queue mới chứa tối đa 4 String
ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(4);
.add(object) hoặc .offer(object) để thêm vào đuôi.add(object) ném ngoại lệ khi Queue đầy.offer(object) bỏ qua phần tử mới khi đã đầyArrayBlockingQueue<String> queue
= new ArrayBlockingQueue<String>(4);
queue.offer("France");
queue.offer("Japan");
queue.offer("Brazil");
queue.offer("Egypt");
queue.offer("China"); // Bỏ qua China
// Gây IllegalStateException
// queue.add("China");
System.out.println(queue);
[France, Japan, Brazil, Egypt]
.remove() hoặc .poll() để lấy từ đầu hàng.remove() ném ngoại lệ khi Queue rỗng.poll() trả về null khi Queue rỗngArrayBlockingQueue<String> queue
= new ArrayBlockingQueue<String>(4);
String x = queue.poll(); // x là null
// Gây NoSuchElementException
// String y = queue.remove();
queue.offer("France");
String next = queue.poll();
System.out.println(next);
France
Kiểu dữ liệu và Exceptions trong Java