Diciamo che ho un ArrayList di classe Person e ho due oggetti che vengono generati da due classi diverse che leggono e scrivono in questo ArrayList.
Ad esempio,
public class Main {
public static void main(String[] args) {
A a = new A();
B b = new B();
}
}
Quale è, a tuo parere, il miglior design per gestire questo ArrayList. Posso pensare a due opzioni:
-
crea l'elenco array nella classe principale:
public class Main { public static ArrayList<Person> list = new ArrayList<>(); public static void main(String[] args) { A a = new A(); B b = new B(); } }
e quindi accedi all'elenco all'interno delle classi A e B tramite
Main.list
. -
Crea l'ArrayList come variabile locale nel metodo main e invialo al costruttore di A e B.
public class Main { public static void main(String[] args) { ArrayList<Person> list = new ArrayList<>(); A a = new A(list); B b = new B(list); } } public class A { private ArrayList<Person> list; public A(ArrayList<Person> list) { this.list = list; } }
e quindi list è un attributo degli oggetti A e B.