Java 中的输入/输出与流
Alex Liu
Software Development Engineer
HashSet 示例import 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}
For-Each 循环for (type x: collection){}List、Set、Map 等fruits:[Apple, Banana]。for (String x : fruits) {
System.out.println(x);
}
Apple
Banana
Iterator<>:支持 List、Set、Queue 等Iterator 类import java.util.Iterator;// 为示例集合 `fruits` 创建名为 `it` 的 `Iterator` 对象 Iterator<String> it = fruits.iterator(); // 使用 `.hasNext()` 判断是否有下一个元素 while (it.hasNext()) { // 使用 `.next()` 获取元素 System.out.print(it.next());}
Apple Banana
.remove() 通过 Iterator 删除元素$$
Iterator<String> it = fruits.iterator();
while (it.hasNext()) {
String fruit = it.next();
if (fruit.startsWith("A")) {
// 若以 A 开头则删除
it.remove();
}
}
// 现在 fruits 只包含 "Banana"
删除前:
System.out.println(fruits);
[Apple, Banana]
删除后:
System.out.println(fruits);
[Banana]
确保安全删除,避免 ConcurrentModificationException

For-Each 循环List(ArrayList、LinkedList)Set(HashSet、TreeSet、LinkedHashSet)Queue(PriorityQueue)Stack(Stack)Map删除元素IteratorList(ArrayList、LinkedList)Set(HashSet、TreeSet、LinkedHashSet)Queue(PriorityQueue)Stack(Stack)Map(需用 keySet().iterator、values().iterator 或 entrySet().iterator)删除元素Java 中的输入/输出与流