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

教程基础Java

Controllo di flusso Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

List Java

Queue (Coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java per ordinare l'ArrayList di oggetti personalizzati per proprietà

Completo di esempi Java

In questo programma, imparerai a ordinare un ArrayList di oggetti personalizzati per una proprietà data in Java.

Esempio: Ordina l'ArrayList di oggetti personalizzati per proprietà

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());
        }
    }
}

Eseguiendo il programma, l'output è:

A
Aa
B
X
Z

Nel programma sopra, abbiamo definito una classe CustomObject con l'attributo String customProperty

Abbiamo anche aggiunto un costruttore di inizializzazione delle proprietà e una funzione getter getCustomProperty() che restituisce customProperty

Nel metodo main(), creiamo un elenco di array di oggetti personalizzati list e lo inizializziamo con 5 oggetti.

Per ordinare la lista utilizzando l'attributo fornito, utilizziamo il metodo sort() della lista. Il metodo sort() accetta l'elenco da ordinare (l'elenco ordinato finale è anche lo stesso) e un comparatore

Nel nostro esempio, il comparatore è un'espressione lambda

  • Recupera due oggetti dalla lista o1 e o2

  • Utilizza il metodo compareTo() per confrontare due oggetti customProperty

  • Se l'attributo di o1 è maggiore dell'attributo di o2, restituisce infine un numero positivo; se l'attributo di o1 è minore dell'attributo di o2, restituisce infine un numero negativo; se sono uguali, restituisce zero.

In questo contesto, l'elenco (list) viene ordinato per attributo minore a maggiore attributo e memorizzato di nuovo nell'elenco (list)

Completo di esempi Java