Arreglo de objetos

Bueno tengo una gran duda en muchas cosas.

E creado un programa con 2 búsquedas y 3 ordenamientos pero lo que quiero es que no guarde solo números sino que guarde también como nombre, edad, numero, etc., pero cuando hago el arreglo de objetos hay muchas incompatibilidades con los arreglos en las búsquedas y ordenamientos. Espero me puedan explicar eso, como cambiar los arreglos en las busquedas y ordenamientos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Tienes que especificar cuando

Tienes que especificar cuando un objeto es igual a otro o como comparar un objeto contra otro.

Por ejemplo cuando comparas dos numeros puedes saber si uno es mayor que otro con el operador ">"

if ( a > b ) {
   ...
}

Pero tratandose de objetos tu debes de decir cuando un objeto es mayor a otro. Puedes usar cualquier atributo, el nombre la edad lo que quieras, pero debes de especificar alguno pues los operadores > < == != no te serviran ahi.

Por ejemplo si tuvieras una clase con un String:

class Persona {
    private String nombre;
    ....  etc. etc.
}

Podrias comparar usando la longitud por ejemplo:

if ( juan.compareTo( pedro ) < 0  ) {
    System.out.println("Juan es menor que Pedro");
}

Para hacer eso tendrias que implementar la interfaz Comparable

class Persona implements Comparable<Persona>  {
   public int compareTo( Persona p ) {
      return this.nombre.length() - p.nombre.length();
   }
}

Tambien puedes utilizar un Comparator

Imagen de Developer

Muchas Gracias

Gracias por responder, pero lo que hice fue modificar el algoritmo de las busquedas y ordenamientos en base a el arreglo de Objetos y una variable indice que ya tenia en el arreglo de Objetos, reemplazando el tipo de arreglo Int con el arreglo de objetos en cada uno de los metodos.