我有增加映射到高速缓存的方法,我想知道我可以做更多来简化这个循环与Java 8简化环路与Java 8
我迄今所做的:
标准循环大家都知道:
for(int i = 0; i < catalogNames.size(); i++){
List<GenericCatalog> list = DummyData.getCatalog(catalogNames.get(i));
Map<String, GenericCatalog> map = new LinkedHashMap<>();
for(GenericCatalog item : list){
map.put(item.name.get(), item);
}
catalogCache.put(catalogNames.get(i), map);};
第二次迭代及如何使用foreach:
catalogNames.forEach(e -> {
Map<String, GenericCatalog> map = new LinkedHashMap<>();
DummyData.getCatalog(e).forEach(d -> {
map.put(d.name.get(), d);
});
catalogCache.put(e, map);});
而第三次迭代,消除不必要的护腕:
catalogNames.forEach(objName -> {
Map<String, GenericCatalog> map = new LinkedHashMap<>();
DummyData.getCatalog(objName).forEach(obj -> map.put(obj.name.get(), obj));
catalogCache.put(objName, map);});
我现在的问题是可以做些什么来简化这个?
我明白,在这一点上用这种方法做任何事情都没有必要,但是,我对可能性很好奇。
提示:缩短并不总是意味着更简单 –
为什么要简化这一点。我认为你的解决方案#2是构想,你直接理解它的作用。 –
正如我在问题中所说的,我同意解决方案#2和解决方案#3既简单又简单(我在代码atm中使用#2)。我只是好奇还有什么可以做的。 – Brenin