ArrayList - como adicionar dois elementos no mesmo índice?

Gostaria de saber como adicionar dois elementos no mesmo índice no arraylist do java e imprimí-los.
por exemplo:

Index | Elemento
  0   | "Stack","Overflow"
  1   | "Java", "POO"
  2   |  "João", "Carlos"

não quero saber em hashMap ou list, precisa ser em ArrayLit mesmo

Um jeito simples é ter um ArrayList de ArrayList. Algo como:

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

lista.add(new ArrayList<String>());
lista.add(new ArrayList<String>());
lista.add(new ArrayList<String>());

lista.get(0).add("Stack");
lista.get(0).add("Overflow");

lista.get(1).add("Java");
lista.get(1).add("POO");

lista.get(2).add("João");
lista.get(2).add("Carlos");

// pra imprimir:
for (List l : lista){
  for(String s: l){
   System.out.println(s);
  }
}

Ps: ajuste a sintaxe caso necessário, fiz de cabeça.

Abraço.

1 curtida

Muito Obrigado :grinning::+1:

fui implementar e não dá certo. Não está faltando algo na hora de instanciar esse array?

Por isso que escrevi que você precisa ajustar a sintaxe caso necessário. :wink:

Seu código não está igual ao meu. Se você quer armazenar uma lista de listas, precisa de um:

ArraList<ArrayList> adj = new ArrayList<ArrayList>();

Mas parece que você está fazendo:

ArraList<Integer> adj = new ArrayList<Integer>();

Pra quê esse Integer ai? Você quer uma lista de listas ou uma lista de inteiros?

Dica: faça uma pergunta mais completa. Para o domínio que você parece estar mexendo (grafos), o ideal seria você trabalhar com uma matriz/lista de adjacência ou usar classes como vértice e aresta para armazenar os relacionamentos. Uma aresta, por exemplo, pode ter 2 atributos para armazenar os vértices, e daí você não precisa de uma lista de listas, apenas uma lista de arestas. Use os recursos da linguagem a seu favor.

Abraço.

certo, obrigado pelo toque. Consegui dar uma clareada agora.