Hola, buenas noches a todos.
Aquí estoy otra vez (aprenderé algo!!!).
Bien, pues tengo dos clase, Nota y Libreta (ArrayList). donde en libreta ademas de añadir las notas me las ordena. Lo que ordena son fechas, bueno son enteros que yo he llamado dia, mes y año.
En mi clase Nota tengo mis get y set de int dia, int mes, int año y en mi libreta entre otros metodos tengo:
public void agregar_nota(Nota n){
//comprueba si hay dos titulos iguales.
for(Nota nt : notas){
if(n.get_titulo().equals(nt.get_titulo())){
System.out.println("ESTE TITULO YA EXISTE");
}
else{
notas.add(n);
}
.................................//continuo con el metodo.
En este mismo método, después de añadir, lo que hago es comparar los años, luego los meses y luego los dias.
.................................//continuo con el metodo.
int aux = 0;
for(int pos = 0; pos < notas.size(); pos++){
if(n.get_anio() < nt.get_anio()){
aux = n[pos];*****
y aqui ya no se seguir, bueno no se si podría se así, o utilizar algún metodo de Array como sort....
Alguien me puede echar una mano.
Muchas gracias.
para ordenar un ArrayList puedes usar Collections.sort y le pasas como parametro tu ArrayList, pero para eso tu clase Nota debe implementar la interfaz Comparable<T> y sobreescribir el metodo compareTo con tu criterio de comparacion.
El otro metodo es pasar como segundo parametro a Collections.sort una clase que implemente la interfaz Comparator<T>
Algunos ejemplos de lo que te menciono http://www.vogella.com/blog/2009/08/04/collections-sort-java/
Personalmente yo prefiero la segunda opción que menciona @ny0x por que haci puede compara un Objeto de distintas formas.