我有增加映射到高速緩存的方法,我想知道我可以做更多來簡化這個循環與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