Tengo problemas para reemplazar un elemento en mi lista de matrices. Busqué el soultion y descubrí que listIterator lo está haciendo. Así que quería implementar eso, pero de alguna manera el método "set" para el iterador no está disponible. ¿Por qué? Todo está sucediendo en @Repository en mi aplicación Spring MVC.

private List<Car> listOfCars = new ArrayList<Car>();
listOfCars.add(...);
listOfCars.add(...);
listOfCars.add(...);

public void update(Car car) {
    Iterator<Car> listIterator = listOfCars.listIterator();
    while (listIterator.hasNext()) {
        Car c = listIterator.next();

        if(c.equals(car)){
            listIterator.set(car);
        }

}

El programa no puede resolver listIterator.set(); esto no está disponible.

2
bartuomiei 12 nov. 2017 a las 13:00

2 respuestas

La mejor respuesta

Si va a utilizar métodos ListIterator, utilice el tipo ListIterator para su variable listIterator:

ListIterator<Car> listIterator = listOfCars.listIterator();

Iterator no tiene un método set.

3
Eran 12 nov. 2017 a las 10:02

Puede utilizar establecer el método una vez que sepa el índice del elemento que desea reemplazar.

listOfCars.set(INDEX, car);
1
Bruce Lee 12 nov. 2017 a las 10:08