Java - invertir lista con metodo que proporciona iterador

 
Vista:

invertir lista con metodo que proporciona iterador

Publicado por carlos (5 intervenciones) el 04/11/2020 10:01:16
public void invertir(ListIterator<String> iterador)

necesito invertir el orden de los elementos de una lista mediante un metodo como el anterior que tiene como parametro un iterador que puede estar en cualquier posicion de la lista

ando un poco perdido con el problema
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

invertir lista con metodo que proporciona iterador

Publicado por carlos (5 intervenciones) el 04/11/2020 10:33:37
los métodos los tengo claros, mi pregunta iba mas enfocada a si alguien podia ayudarme con una idea general de como abordar el problema que es donde estoy atascado, no pido que alguien haga el código por mi ni mucho menos
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

invertir lista con metodo que proporciona iterador

Publicado por Tom (1831 intervenciones) el 04/11/2020 11:08:55
Bueno, una forma de hacerlo sería iterar la lista desde la posición recibida hasta el final, luego comenzar un bucle del final al principio intercambiando cada elemento del iterador (el actual del iterador con el índice que corresponda, que lo mantienes como un contador).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

invertir lista con metodo que proporciona iterador

Publicado por carlos (5 intervenciones) el 04/11/2020 11:13:26
1
2
3
4
5
6
7
8
9
10
11
12
13
static public void invierte(ListIterator<String> iter) {
    while(iter.hasPrevious())
        iter.previous();
    List<String> aux = new ArrayList<String>();
    while(iter.hasNext()){
        String elem = iter.next();
        aux.add(elem);
    }
    for(int i = 0; i < aux.size(); i++){
        iter.previous();
        iter.set(aux.get(i));
    }
}

habia pensado en algo asi pasando todos los elementos a una lista auxiliar y luego devolviendolos en orden invertido con el iterador.set pero no tengo claro si es buena idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

invertir lista con metodo que proporciona iterador

Publicado por carlos (5 intervenciones) el 04/11/2020 11:17:11
vale perfecto ya lo solucioné gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar