2017-06-22 73 views

回答

0

使用流,而不使用通配符,不保留null值:

import static java.util.stream.Collectors.groupingBy; 
import static java.util.stream.Collectors.mapping; 
import static java.util.stream.Collectors.toList; 

public static <Key, Value> Map<Value, List<Key>> inverseMap(Map<Key, Value> map) { 
    return map.entrySet().stream() 
      .collect(groupingBy(Map.Entry::getValue, mapping(Map.Entry::getKey, toList()))); 
}