Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Se você trabalha com Java e precisa extrair o terceiro maior valor de uma lista de inteiros, a solução com StreamAPI é prática e elegante.
Por exemplo, imagine uma lista de números como:
List<Integer> list = Arrays.asList(1, 2, 3, 1, 4, 5, 28, 23, 99, 32, 102).
Para pegar o terceiro maior, você pode ordenar e filtrar usando streams:
int terceiroMaior = list.stream()
.distinct()
.sorted(Comparator.reverseOrder())
.skip(2)
.findFirst()
.orElseThrow(() -> new RuntimeException("Lista não possui três elementos distintos")). O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
Dá para fazer assim, mas o que mais pesa na prática é entender o impacto na performance, especialmente se a lista for gigante. Você já usou alguma abordagem parecida? Como vocês costumam resolver esse tipo de problema na rotina de vocês? Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Carregando comentários...