Tenho uma dúvida de ArrayList de ArrayList. Consigo criar um ArrayList de ArrayList mas não astou acertando recuperar as entradas. Peço ajuda, por favor.
public static void main(String[] args) {
int tamln;
ArrayList<ArrayList>elems = new ArrayList<ArrayList>();
ArrayList elem = new ArrayList();
int tamCol;
tamCol =(int)(Math.random()(15)+5);
System.out.println(tamCol+" Elementos");
for (int k=0;k<tamCol;k++){
elem.clear();
tamln = (int)(Math.random()(10)+1);
for(int j=0;j<tamln;j++)
elem.add(j+1);
elems.add(elem);
System.out.printf("%s %d",“Elemento nº “,k+1);
for(Iterator it=elem.iterator();it.hasNext();){
System.out.printf(”%s %4d”," ",it.next());
}
System.out.println("");
}
for(Iterator<ArrayList<Integer>>it1=elems.iterator();it1.hasNext();){
for(Iterator<Integer> it2= it1.next().iterator();it2.hasNext();){
System.out.printf("%3d",it2.next());
}
System.out.println("");
}
}
}
Bem vindo ao fórum!
Antes de mais nada, sempre que for postar seu código, coloque-o entre as tags e
, assim:
System.out.println("Olá mundo");
Fazendo assim ele ficará formatado (não ficou aqui porque desativei as tags). Além disso, se o problema foi resolvido, não custa nada colocar um [RESOLVIDO] no título do tópico.
Quanto à questão, experimente esta classe:
public class ListList {
public static void main(String[] args) {
mostraMatriz(criaMatriz());
}
private static List<ArrayList<Integer>> criaMatriz() {
int numeroLinhas = (int) (Math.random() * (15) + 5);
System.out.println(numeroLinhas + " linhas");
List<ArrayList<Integer>> matriz = new ArrayList<ArrayList<Integer>>();
for (int i = 0; i < numeroLinhas; i++) {
ArrayList<Integer> linha = new ArrayList<Integer>();
int numeroColunas = (int) (Math.random() * (10) + 1);
for (int j = 0; j < numeroColunas; j++) {
linha.add(j + 1);
}
matriz.add(linha);
}
return matriz;
}
private static void mostraMatriz(List<ArrayList<Integer>> matriz) {
for (ArrayList<Integer> linha : matriz) {
for (int valor : linha) {
System.out.print(valor + "\t");
}
System.out.println();
}
}
}
Procure entendê-la. Qualquer dúvida, poste aqui.
No exemplo acima eu fiz uma analogia à uma matriz matemática e, para ficar claro, segui a nomenclatura usada na matemática.
Ok!Amigo, muitíssimo obrigado.