2017-08-04 79 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

相关问题