2017-08-04 84 views
1

我有一個HashMap以及數百個鍵/值對。清除hashmap除了兩個鍵/值對之外的所有值

現在我必須刪除所有鍵/值,除了鍵/值。 我用這樣的方式:對於此類情況介紹removeIf()

if(map!=null){ 
    String search = map.get(Constants.search); 
    String context = map.get(Constants.context); 
    map = new HashMap<>(); 
    map.put(Constants.search,search); 
    map.put(Constants.context,context); 
} 

但Java 8。我如何用removeIf()方法解決這個問題?

回答

2

你需要這樣的:

map.keySet() 
    .removeIf(key -> !(key.equals(Constants.search) || key.equals(Constants.context))); 

它會遍歷keys,並刪除了那些key的那些是不是必需的一個或兩個keys

相關問題