Ho un Set<String> usernames
e List<Player> players
Java 8 Lambda - filtro di raccolta da un'altra collezione
vorrei filtrare quei giocatori che non sono nel set.
so come fare questo in Vanilla pre Java 8
List<Player> distinctPlayers = new ArrayList<Player>();
for(Player p : players) {
if(!usernames.contains(p.getUsername()) distinctPlayers.add(p);
}
Sto cercando di scrivere questo semplice codice con un'espressione lambda, ma sto lottando per ottenere usernames.contains()
a lavorare in un filtro
players.stream().filter(!usernames.contains(p -> p.getUsername()))
.collect(Collectors.toList());
Questo non può essere compilato. "Impossibile resove metodo getUsername()"
Bullocks! Sapevo che c'era qualcosa di semplice che mi mancava. Grazie! #feelsAshamed –
Bello! ! Grazie ~ –
Ciao, io sto usando scenario esata ma, mostra errore di compilazione nomi utente "variabile locale '' definiti in un ambito di inclusione deve essere definitiva o effettivamente finale" –