Przekazywanie ArrayListy do drugiej klasy

0

Witam posiadam takie to dwie klasy:
Pierwsza:

public class Main {

    
    public static void main(String[] args) {
      
        klasa2 takeList = new klasa2();
        System.out.println(takeList.getListaA().get(0));

    }

}
 

Druga klasa:

import java.util.ArrayList;

public class klasa2 {
private ArrayList<String> ListaA = new ArrayList<String>();



public void Lista() {
      ListaA.add("a");
      ListaA.add("b");
      ListaA.add("c");
}

public ArrayList<String> getListaA() {
        return ListaA;
    }
}
 

Niech mi ktoś napisze co robię źle że otrzymuje: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0;

Z góry dzięki za pomoc!!!

0

W klasie klasa2 brak konstruktora dopisującego coś do listy ListaA. Zmień kod tej klasy na poniższy

import java.util.ArrayList;
 
public class klasa2 {
private ArrayList<String> ListaA = new ArrayList<String>();
 
public Lista() {
      ListaA.add("a");
      ListaA.add("b");
      ListaA.add("c");
}
 
public ArrayList<String> getListaA() {
        return ListaA;
    }
}
0

Poprawka, na taki
import java.util.ArrayList;

public class klasa2 {
private ArrayList<String> ListaA = new ArrayList<String>();

public klasa2() {
ListaA.add("a");
ListaA.add("b");
ListaA.add("c");
}

public ArrayList<String> getListaA() {
return ListaA;
}
}

0

Mój problem jest taki, że mam przycisk po wciśnięciu którego ArrayLista ma być przekazana do drugiej klasy.

0

To spójrz na ten kod. Klasa Klasa2 przekazuje do klasy Main stworzoną przez siebie listę.

import java.util.ArrayList;
public class Main
{
    private ArrayList<String> lista = new ArrayList<String>();
    public static void main(String[] args)
    {
        new Main();
    }
    public Main()
    {
        new Klasa2(this);
        System.out.println(lista.get(0));
    }
    public void setLista(ArrayList<String> lista)
    {
        this.lista=lista;
    }
}

import java.util.ArrayList;
 
public class Klasa2 
{
    private ArrayList<String> ListaA = new ArrayList<String>();
    public Klasa2(Main parent)
    {
        ListaA.add("a");
        ListaA.add("b");
        ListaA.add("c");
        parent.setLista(ListaA);
    }
}

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