移除map中的鍵值對
阿新 • • 發佈:2019-01-23
背景
專案中需要移除map集合中對應的鍵值對,用以控制資料的變化。
實現
- 這裡我寫了一個測試方法,通過列印日誌可以直觀的看到map中資料的變化,從而證明這樣的實現方式的正確性。如下:
private void removeMapValueTest() {
Map<String, Object> map = new HashMap<>();// 建立map
// 模擬新增資料
map.put("a1", "1");
map.put("a2", "2");
map.put("b1" , "11");
map.put("b2", "22");
map.put("c1", "111");
map.put("c2", "222");
LogUtil.e("mapOriginal",map.toString());// 列印原始map
Iterator<String> iterator = map.keySet().iterator();// map中key(鍵)的迭代器物件
while (iterator.hasNext()){// 迴圈取鍵值進行判斷
String key = iterator.next();// 鍵
if(key.startsWith("a")){
iterator.remove();// 移除map中以a字元開頭的鍵對應的鍵值對
}
}
LogUtil.e("mapRemove",map.toString());// 列印移除鍵值對後的map
}
- 下面是日誌資訊的列印,如下:
這裡大家可以看到,map中的資料發生了變化,以a字元開頭的鍵所對應的鍵值對確實從map中移除了,故該方法是正確的。
========================================================================