içindeki Filtre listesi Bir Term
here tanımlanır formun Map<Term, List<Integer>>
bir girdi Map
götüren bir yöntem yazıyorum.Java 8 - Harita değeri
Yöntem:
Map
konusu linklerin Git veTerm
özniteliğini kullanarak bunları filtre. Kalan tuşların her biri için
, Return
- (
totalSum
, diyelim ki)totalSum
Bu 5 (min(List.size(), 5)
) için kap, ilgili listenin boyutunu almak ve küresel var çıktı eklemek
inputMap
.entrySet()
.stream()
.filter(entry -> entry.getKey().field().equals(fieldName)) // Keep only terms with fieldName
.forEach(entry -> entry.getValue()
.map(size -> Math.min(entry.getValue().size(), 5))) // These 2 lines do not work
.sum();
Ben girdi olarak listelerin bir akışı, çıkış bu listelerin her biri için bir tamsayı almak ve tüm çıkışların toplamını iade alamıyorum: Şimdiye kadar yazdım budur.
Açıkçası döngüler için yazabilirim ama Java 8'i öğrenmeye çalışıyorum ve bu sorunun çözülebilir olup olmadığını merak ettim.
"Map" arabiriminin artık bir "BiCumumer" örneğini alan kendi "forEach()" yöntemi vardır. Bu, kodunuzu basitleştirmek için kullanılabilir. –