java 写一个方法对LinkedHashMap进行遍历,某个值符合调试是移除调改键值对,最后返回一个LinkedHashMap
时间: 2023-08-12 11:59:43 浏览: 137
可以使用Java的迭代器来遍历LinkedHashMap,并在遍历过程中根据某个值的条件进行移除操作。以下是一个示例代码:
```java
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapTraversal {
public static LinkedHashMap<String, Integer> traverseAndRemove(LinkedHashMap<String, Integer> map, int targetValue) {
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
if (entry.getValue() == targetValue) {
iterator.remove();
}
}
return map;
}
public static void main(String[] args) {
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.put("D", 2);
LinkedHashMap<String, Integer> result = traverseAndRemove(map, 2);
System.out.println(result); // 输出: {A=1, C=3}
}
}
```
在上面的代码中,`traverseAndRemove` 方法接受一个 LinkedHashMap 对象 `map` 和一个目标值 `targetValue` 作为参数。它使用迭代器遍历 `map` 的键值对,并判断值是否等于 `targetValue`,如果是则移除该键值对。最后返回修改后的 LinkedHashMap。
在 `main` 方法中,我们创建了一个示例的 LinkedHashMap,并调用 `traverseAndRemove` 方法进行遍历和移除操作。最后打印修改后的 LinkedHashMap,输出为 `{A=1, C=3}`。
阅读全文