Desduplicação baseada no nome Person é a classe de objeto que precisa ser filtrada, getName é baseada no atributo name e, finalmente, uma lista será gerada
personList= personList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection( // Use o construtor de classificação e desduplicação de TreeSet para atingir o objetivo dos elementos de desduplicação // Deduplicação de acordo com firstName
() -> new TreeSet<>(Comparator.comparing( Person :: getName ))), ArrayList::new));
Java8 filtra dados com Score maior que 60
personList.stream().map(Pessoa:: getScore ).filter( x -> x >= 60 ).collect(Collectors.toList())
Faça com que todos se chamem Li Ming
List<Pessoa> lista = (Lista<Pessoa>)pessoas().stream()
.filter(pessoa-> pessoa.getNome.equals("李明"))
.collect(Collectors.toList());
Converter para mapa de acordo com o número do projeto
projecpMap = projects.stream().collect(Collectors.toMap( Project::getxmbh , (p) -> p));
Map<String,UpdateInfo> updateInfoMap = updateInfoList.stream().collect(Collectors.toMap(k -> k.getType()+"_"+k.getInfoId(), item -> item));
Converter para mapa de acordo com o nome do projeto
projectMapByName = projects.stream().collect(Collectors.groupingBy( Project::getName ));
Classificando usando os recursos do jdk8
Se a classe for:
public class Member{
private String order;
private String name;
}
Classifique a lista da classe Member.
members.stream().sorted(Comparator.comparing(x->x. getOrder ())).collect(Collectors.toList());
Um valor de um objeto List é classificado de acordo com outra lista
list1.sort(Comparator.comparingInt(o -> list2.indexOf( o.getStatCateEntry().getCode() )));//Amarelo é o valor que precisa ser comparado
O fluxo de lista processa cada item:
list.stream().map(item-> { item.setName("Oh"); devolver item; }).collect(Collectors.toList());
De acordo com dois atributos, transforme a lista de objetos em um mapa
Map<String, UpdateInfo> updateInfoMap = updateInfoList.stream().collect(Collectors.toMap(k -> k.getType() + "_" + k.getId(), item -> item));
//Converte uma propriedade de lista em lista;
list.stream().map(Obj::getName).collect(Collectors.toList());
//Filtrar todos os objetos na lista a que não contenham um determinado atributo do objeto da lista b
a.stream().filter( gx -> b.stream().collect(Collectors.joining()).contains(gx.getCreditCode())) .collect(Collectors.toList())