Agradecería mucho que alguien me dijera cómo se puede ordenar un ArrayList formado por registros de varios campos. Es decir, si uno de esos campos es numérico, cómo se podría ordenar ese ArrayList para que los elementos estén ordenados de menor a mayor según ese campo numérico.
Mi ejemplo:
Código:
import java.util.*;
public class Orden {
static class Registro {
static String texto;
static int numero;
static int matriz[][] = new int[2][2];
}
public static void main(String[] args) {
List<Registro> lista = new ArrayList<>();
Registro registro01 = new Registro();
Registro registro02 = new Registro();
// Doy valores al registro 01
registro01.matriz[0][0] = 5;
registro01.matriz[0][1] = 5;
registro01.matriz[1][0] = 5;
registro01.matriz[0][1] = 5;
registro01.texto = "registro01";
registro01.numero = 100;
// Doy valores al registro 02
registro02.matriz[0][0] = 1;
registro02.matriz[0][0] = 1;
registro02.matriz[0][0] = 1;
registro02.matriz[0][0] = 1;
registro02.texto = "registro02";
registro02.numero = 1;
//Añado ambos elementos a la lista
lista.add(0,registro01);
lista.add(1,registro02);
}
}
Haciéndolo así, el primer elemento del ArrayList sería 'registro01' y el segundo elemento sería 'registro02'.
Pues bien, la pregunta es ¿cómo se podrían ordenar de menor a mayor (según el campo registro.numero) los 2 registros que forman el ArrayList? ¿Existe algún método predefinido que lo haga? ¿Y para ordenarlos según, por ejemplo, el valor del elemento (0,0) de las matrices? Yo no doy con ello...
Muchas gracias de antemano y saludos.