Witam, mam problem z moją ArrayListą a właściwie jedną z jej metod. Otóż chcę stworzyć ArrayListę klasy Box<Integer, String>:
ArrayList<Box<Integer,String>> lista = new ArrayList<Box<Integer,String>>();
Wszystko ładnie działa, lecz chciałem stworzyć metodę add(obj) która podmieniła by element gdybym próbował dodać element, który zawiera już istniejący identyfikator (nie mylić z indeksem). Dla rozjaśnienia
Mamy ArrayListę:
1 Arek
2 Kasia
3 Marysia
Próbujemy dodać obiekt np
2 Julia
po tej operacji nasza ArrayLista powinna wyglądać tak:
1 Arek
2 Julia
3 Marysia
Oto jak próbowałem się za to zabrać:
public void add(Box<Integer, String> o)
{
for(Box<Integer, String> i: lista)
{
if(o.getKey().equals(i.getKey()))
{
lista.set(lista.indexOf(i), o);
}
else
{
lista.add(o);
}
}
}
Lecz niestety, metoda działa tak, że nic do ArrayListy się nie dodaje. Proszę o pomoc i wskazówkę co robię źle. Dziękuję i pozdrawiam