История изменений
Исправление r, (текущая версия) :
компилябельный пример (оба):
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.google.common.collect.Maps.filterValues;
import static com.google.common.collect.Maps.transformValues;
import static java.util.Map.Entry;
public class Test {
private Map<Class<?>, Map<String, List<String>>> compressDependencies(
Map<Class<?>, Map<String, List<String>>> dependencies ) {
final Map<Class<?>, Map<String, List<String>>> result = new HashMap<>();
for( Entry<Class<?>, Map<String, List<String>>> clazz : dependencies.entrySet() ) {
final Map<String, List<String>> desc = new HashMap<>();
for( Entry<String, List<String>> d : clazz.getValue().entrySet() ) {
List<String> value = d.getValue();
if( !value.isEmpty() ) desc.put( d.getKey(), value );
}
result.put( clazz.getKey(), desc );
}
return result;
}
private Map<Class<?>, Map<String, List<String>>> compressDependencies2(
Map<Class<?>, Map<String, List<String>>> dependencies ) {
return transformValues( dependencies, map -> filterValues( map, v -> !v.isEmpty() ) );
}
}
Исходная версия r, :
компилябельный пример (оба):
import com.google.common.collect.Maps;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static java.util.Map.Entry;
public class Test {
private Map<Class<?>, Map<String, List<String>>> compressDependencies(
Map<Class<?>, Map<String, List<String>>> dependencies ) {
final Map<Class<?>, Map<String, List<String>>> result = new HashMap<>();
for( Entry<Class<?>, Map<String, List<String>>> clazz : dependencies.entrySet() ) {
final Map<String, List<String>> desc = new HashMap<>();
for( Entry<String, List<String>> d : clazz.getValue().entrySet() ) {
List<String> value = d.getValue();
if( !value.isEmpty() ) desc.put( d.getKey(), value );
}
result.put( clazz.getKey(), desc );
}
return result;
}
private Map<Class<?>, Map<String, List<String>>> compressDependencies2(
Map<Class<?>, Map<String, List<String>>> dependencies ) {
return Maps.transformValues( dependencies, map -> Maps.filterValues( map, v -> !v.isEmpty() ) );
}
}