Jak zrobić listę obiektów i jej poprawnie używać?

0

Chcę się nauczyć korzystać z klas więc proszę o wyrozumiałość tych kiepskich kodów.
Mam taką klasę:

public class Lista
{
    public String nazwa;
    public String cos1;
    public String cos2;

    public Lista(String nazwa, String cos1, String cos2)
    {
        this.nazwa = nazwa;
        this.cos1 = cos1;
        this.cos2 = cos2;
    }

    String getNazwa()
    {
        return nazwa;
    }
}

Natomiast w innej klasie spróbowałem utworzyć listę w taki sposób:

        List<Lista> lista = new List<Lista>() {
// to poniżej to już edytor sam dodał
            @Override
            public void add(int location, Lista object) {

            }
// ... i dodał tego więcej ...

Edytor sam mi dopisał resztę linijek, całą masę linijek różnych metod, jedną z nich jest public void add(...).
Nie wpisywałem nic do żadnej z tych wygenerowanych, wielu metod.
Pod tym całym kodem napisałem:

        lista.add(new Lista(
                "aaaaaaa",
                "bbbbbbb",
                "ccccccc"
        ));

Na koniec w jakimś miejscu próbowałem stringa pobrać po przez:

lista.get(nr).getNazwa();

Oczywiście apka crashuje przy tym get pisząc coś o null object reference, czy czymś tam. Na pewno po tych kodach, które wkleiłem sami w sekundę będziecie wiedzieć gdzie błędy popełniam.
Zwracam się do was z prośbą byście wytknęli mi błędy, napisali, że żałosny kod mam i spróbowali powiedzieć co robię niewłaściwie oraz jak poprawić kod. Będę bardzo, bardzo wdzięczny za pomoc.

1
        List<Lista> lista = new List<Lista>() {...} 

W tym miejscu próbujesz stworzyć instancję interfejsu List wiec IDE dorzuca Ci automatycznie miejsce na anonimowe zaimplementowanie metod. Domyślam się, że chcesz użyć jakiejś gotowej implementacji interfejsu List np. ArrayList czy LinkedList. Popraw kod na taki:

        List<Lista> lista = new ArrayList<Lista>();

A najlepiej zmień nazwę klasy, bo domyślam się, że ta klasa to nie lista, a jakiś domenowy obiekt, który chcesz w liście przechowywać.

0

ArrayList powiadasz, ok, spróbuję (choć znać dam później, czy działa, bo komputer mam przestarzały).
A co do tej klasy, to ona ma mi zastąpić tablicę, potrzebne mi tylko to wypełnianie i później pobieranie stringów z konkretnego indeksu, to wszystko.
I dziękuję, że szybko odpisałeś i coś poradziłeś.

działa jak należy, dziękuję, problem solved

1 użytkowników online, w tym zalogowanych: 0, gości: 1