mam Set<String> usernames
i List<Player> players
Java 8 Lambda - Filtr kolekcja innym kolekcji
chciałabym odfiltrować tych graczy, którzy nie są w zestawie.
wiem, jak to zrobić w Vanilla pre Java 8
List<Player> distinctPlayers = new ArrayList<Player>();
for(Player p : players) {
if(!usernames.contains(p.getUsername()) distinctPlayers.add(p);
}
Próbuję napisać prosty kod z wyrażenia lambda, ale walczę, aby uzyskać usernames.contains()
pracować w filtrze
players.stream().filter(!usernames.contains(p -> p.getUsername()))
.collect(Collectors.toList());
To nie jest kompilowane. „nie może resove metoda GetUserName()”
Woły! Wiedziałem, że jest coś prostego, co przeoczyłem. Dzięki! #feelsAshamed –
Nice! dzięki! ~ –
Witam, używam scenariusza wyjątkowego, ale pokazuje błąd kompilacji "Nazwy użytkownika lokalnego" zdefiniowane w zasięgu obejmującym muszą być ostateczne lub efektywne. " –