Espero darme a entender,
He creado una clase llamada ListaIndexadaOrdenada donde tengo unos metodos fundamentales para las listas y tengo otra clase en la que tengo una lista de personas, en esta clase copie un par de metodos de ListaIndexadaOrdenada para incluir un miembro a la lista, sacar otro etc...
tengo como atributo "private ListaIndexadaOrdenada" de tipo String pues mis metodos regresaban nombres, mi problema es que ahora me han pedido que el atributo sea de tipo <Persona> (tengo otra clase llamada persona donde tambien tengo otros metodos) que posiblemente incluya en esta nueva clase donde tengo la lista de personas,ya le eh cambiado el tipo pero hay dos metodos que me marca con error.. tengo lo siguiente:
public class ListaIndexadaOrdenada <T> {
private T[] lista;
private int tamañoActual;
private final int MAX= 10;
/* Constructor sin parámetros: instancia un arreglo de tipo Object con
* dimensión predefinida MAX. */
public ListaIndexadaOrdenada(){
this.lista = (T[]) (new Object[MAX]);
this.tamañoActual= 0;
}
/* Constructor con parámetros: copia en el atributo lista el arreglo que recibe como
* parámetro, y ordena sus elementos ascendentemente. */
public ListaIndexadaOrdenada(T[] unaLista){
this.lista = unaLista;
this.tamañoActual= unaLista.length;
this.ordenaSeleccionDirecta();
}
public T remove(int indice) {
T elemento= null; //inicia en null indicando por omisión arreglo vacío o índice no válido
if (indice >= 0 && indice <= tamañoActual-1){
elemento= get(indice);
for (int i= indice; i<tamañoActual-1; i++)
lista[i]= lista[i+1];
tamañoActual = tamañoActual - 1;
lista[tamañoActual]= null;
}
return elemento;
}
Mi metodo es el siguiente:
public boolean bajaInvitado(String nombre){
String nombreMayusculas= nombre.toUpperCase();
return this.invitados.remove(nombreMayusculas);
}
Y el error dice: The method remove(int) in the type ListaIndexadaOrdenada<Persona> is not applicable for the arguments (String
Espero que se entienda gracias por su tiempo