Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como criar uma expressão lambda para um Comparator usando Collator?

Como combinar Comparator.comparing com Collator.compare? Quero ordenar uma lista usando um Collator para a língua portuguesa (para tratar a acentuação durante a ordenação).

Ou seja: como criar uma expressão lambda para um Comparator usando Collator?

1 resposta
solução!

Em vez de usar Comparator.comparing, você cria um lambda para primeiro extrair o valor e, em seguida, usa o Collator para comparar:

List<String> list = Arrays.asList("abc", "xyz", "bde", "rew", "aER");
Collator collator = Collator.getInstance(new Locale("es", "ES"));
list.sort((e1, e2) -> collator.compare(e1, e2));

Com method reference:

List<String> list = Arrays.asList("abc", "xyz", "bde", "rew", "aER");
Collator collator = Collator.getInstance(new Locale("es", "ES"));
list.sort(collator::compare);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software