Alimentar um list que esta no main a partir de outra classe
2 respostasResolvido
K
kaka37
olá pessoal, preciso de uma ajuda,
preciso alimentar o List acimaDaMedia = new ArrayList<>(); que está no main; porém o metodo está em outra classe e não estou conseguindo adicionar os valores com acimaDaMedia.add();
Vc pode fazer o método da outra classe retornar os itens para a classe onde está o main, e depois usar o addAll da lista.
E
essevaiproale1 like
Para acessar o metodo que está no main de outra classe voce tem que deixá-lo publico e estático ou criar um get/set para ele.
Fiz 2 classes pra você ver um exemplo baseado no seu enunciado:
TESTES:
packageamain;importjava.util.ArrayList;importjava.util.List;publicclassTestes{// Array que voce quer alimentarpublicstaticList<Integer>acimaDaMedia=newArrayList<>();// seu metodo mainpublicstaticvoidmain(String[]args){// MANEIRA 1 DE FAZER// Chamar um método que retorna uma lista e alimentar o arrayArrayList<Integer>listadaoutraclasse=Outraclasse.alimentadorDeArray1();acimaDaMedia.addAll(listadaoutraclasse);// MANEIRA 2 DE FAZER// Chamar um metodo que preenche o array diretamente da outra classe por uma chamada estaticaOutraclasse.alimentadorDeArray2();// Imprimindo o retornoacimaDaMedia.forEach(valor->System.out.println("Media preenchida na outra classe : "+valor));}}
OUTRA CLASSE:
packageamain;importjava.util.ArrayList;publicclassOutraclasse{publicstaticArrayList<Integer>alimentadorDeArray1(){// Preenchendo um array de valores para usar como exemploArrayList<Integer>acimadamedia=newArrayList<Integer>();acimadamedia.add(100);acimadamedia.add(20);acimadamedia.add(80);acimadamedia.add(10);returnacimadamedia;}// Ao invés de retornar uma lista você ja pode chamar seu array e popular diretamente desta classe se ele for publico e estáticopublicstaticvoidalimentadorDeArray2(){// Preenchendo um array de valores para usar como exemplo atraves de uma chamada estáticaTestes.acimaDaMedia.add(100);Testes.acimaDaMedia.add(20);Testes.acimaDaMedia.add(80);Testes.acimaDaMedia.add(10);}}