English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Java

Controle de fluxo Java

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (fila)

conjuntos Java Map

conjuntos Java Set

Java Entrada e Saída (I/O)

Reader Java/Writer

Outros tópicos do Java

Programa Java ordena a ArrayList de objetos personalizados com base no atributo

Completo de Exemplos Java

Neste programa, você aprenderá a ordenar uma ArrayList de objetos personalizados com base em um atributo específico no Java.

Exemplo: Ordenar a ArrayList de objetos personalizados com base no atributo

import java.util.*;
public class CustomObject {
    private String customProperty;
    public CustomObject(String property) {
        this.customProperty = property;
    }
    public String getCustomProperty() {
        return this.customProperty;
    }
    public static void main(String[] args) {
        ArrayList<Customobject> list = new ArrayList<>();
        list.add(new CustomObject("Z"));
        list.add(new CustomObject("A"));
        list.add(new CustomObject("B"));
        list.add(new CustomObject("X"));
        list.add(new CustomObject("Aa"));
        list.sort((o1, o2) -> o1).getCustomProperty().compareTo(o2).getCustomProperty()));
        for (CustomObject obj : list) {
            System.out.println(obj.getCustomProperty());
        }
    }
}

Quando executar o programa, a saída será:

A
Aa
B
X
Z

Na classe CustomObject definida acima, temos um atributo String customProperty

Também adicionamos um construtor que inicializa as propriedades e uma função getter getCustomProperty() que retorna o customProperty

No método main(), criamos uma lista de array de objetos personalizados list e usamos5os objetos foram inicializados.

Para ordenar a lista usando a propriedade fornecida, usamos o método sort() da lista. O método sort() aceita a lista a ser ordenada (a lista ordenada final também é a mesma) e um comparador

Em nosso exemplo, o comparador é uma expressão lambda

  • da lista o1e o2obtendo dois objetos

  • usando o método compareTo() para comparar os customProperty de dois objetos

  • se o1do atributo for maior que o2do atributo, retornando um número positivo; se o1do atributo é menor que o2do atributo, retornando um número negativo; se forem iguais, retornando zero.

Neste caso, a lista (list) é ordenada de acordo com o menor atributo para o maior atributo e armazenada novamente na lista (list)

Completo de Exemplos Java