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

Tutoriales básicos de Java

control de flujo Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada/Salida (I/O)

Java Reader/Writer

Otras temas de Java

Java programa para ordenar un ArrayList de objetos personalizados según el atributo

Java Ejemplos Completos

En este programa, aprenderá a ordenar un ArrayList de objetos personalizados según un atributo dado en Java.

Ejemplo: ordenar un ArrayList de objetos personalizados según el 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());
        }
    }
}

Al ejecutar este programa, la salida es:

A
Aa
B
X
Z

En el programa anterior, definimos una clase CustomObject con el atributo String customProperty

También hemos agregado un constructor que inicializa las propiedades y una función getter getCustomProperty() que devuelve customProperty

En el método main(), creamos una lista de array de objetos personalizados list y usamos5se inicializaron objetos.

Para ordenar la lista por el atributo dado, usamos el método sort() de la lista. El método sort() acepta la lista a ordenar (también es la lista ordenada final) y un comparador

En nuestro ejemplo, el comparador es una expresión lambda

  • de la lista o1y o2se obtienen dos objetos

  • se compara el customProperty de dos objetos usando el método compareTo()

  • si o1del atributo es mayor que o2del atributo, se devuelve el número positivo; si o1del atributo es menor que o2del atributo, se devuelve el número negativo; si son iguales, se devuelve cero.

En este caso, la lista (list) se ordena por el atributo más pequeño al más grande y se almacena nuevamente en la lista

Java Ejemplos Completos