Nhập/Xuất và Streams trong Java
Alex Liu
Software Development Engineer
HashSet dùng cho phần còn lại của videoimport java.util.HashSet;public class SampleHashSetData { public static void main(String[] args) { HashSet<String> fruits = new HashSet<>();fruits.add("Apple"); fruits.add("Banana");} }
{Apple, Banana}
Vòng lặp For-Eachfor (type x: collection){}List, Set, Map, ...fruits: [Apple, Banana].for (String x : fruits) {
System.out.println(x);
}
Apple
Banana
Iterator<>: Hỗ trợ List, Set, Queue, ...Iteratorimport java.util.Iterator;// Tạo đối tượng `Iterator` tên `it` cho tập `fruits` Iterator<String> it = fruits.iterator(); // Dùng `.hasNext()` để kiểm tra còn phần tử không while (it.hasNext()) { // Dùng `.next()` để lấy phần tử System.out.print(it.next());}
Apple Banana
.remove() để xóa phần tử với Iterator$$
Iterator<String> it = fruits.iterator();
while (it.hasNext()) {
String fruit = it.next();
if (fruit.startsWith("A")) {
// Xóa nếu phần tử bắt đầu bằng `A`
it.remove();
}
}
// fruits giờ chỉ còn "Banana"
Trước khi xóa:
System.out.println(fruits);
[Apple, Banana]
Sau khi xóa:
System.out.println(fruits);
[Banana]
Đảm bảo xóa an toàn và tránh ConcurrentModificationException

For-EachList(ArrayList,LinkedList)Set(HashSet,TreeSet,LinkedHashSet)Queue(PriorityQueue)Stack(Stack)MapXóa phần tửIteratorList(ArrayList,LinkedList)Set(HashSet,TreeSet,LinkedHashSet)Queue(PriorityQueue)Stack(Stack)Map (Phải dùng keySet().iterator, values().iterator hoặc entrySet().iterator)Xóa phần tửNhập/Xuất và Streams trong Java