Witajcie.
Mam pytanie :) jak to działa, bo nie za bardzo rozumiem. Mam listę a w niej inne listy. Przykładoy fragment kodu poniżej
for (int i = 0; i < wielkosc; i++)
{
Model = (DefaultTableModel) TabelaFaktur.getModel();
String[] faktura = wszystkieFaktury[i].split(" ");
Model.addRow(faktura);
fileReaderPozycje = new FileReader(pliki[1]);
BufferedReader bufferedReaderPozycja = new BufferedReader(fileReaderPozycje);
StringBuffer stringBufferPozycja = new StringBuffer("");
String linePoz = null;
while ((linePoz = bufferedReaderPozycja.readLine()) != null) {
stringBufferPozycja.append(linePoz + ";");
}
String[] wszystkiePozycje= stringBufferPozycja.toString().split(";");
int wielkoscPoz = wszystkiePozycje.length;
for (int j = 0; j < wielkoscPoz; j++)
{
String[] pozycja = wszystkiePozycje[j].split(" ");
if (i == Integer.parseInt(pozycja[0].trim()))
{
ListaPozycji.add(pozycja[1]);
ListaPozycji.add(pozycja[2]);
ListaPozycji.add(pozycja[3]);
ListaPozycji.add(pozycja[4]);
}
}
ListaPozycjiWLiscie.add(ListaPozycji);
ListaPozycji.Clear();
Analizując ogólnie ostatnie linie no to tak, w pętli uzupełniam sobie ListaPojazdy o nowe elementy i wypadam z pętli a następnie wpisuję tą listę do list ListaPozycjiWLiscie. No i czyszczę ListęPozycji a następnie wracam do pętli i znów ją uzupełniam i tak dalej. Dlaczego opcja Clear czyści mi zarówno ListePozycji jak i ListaPozycjiWLiscie? nie rozumiem czemu tak to działa. Czyszczę przecież podrzędną listę a nie nadrzędną? czegoś nie 'commituje', przekładając na język bazodanowy?