ArrayList de array numérico

6 respostas
java
SergioAraujo

Olá, pessoal,

Gostaria de saber como fazer um ArrayList em android recebendo um vetor numérico. Vi vários exemplos com string, mas nenhum do jeito que eu preciso.
Seria isso:

private int[] dados = new int[12];
private ArrayList listaJog = new ArrayList();

listaJog vai receber o array dados a cada ciclo e depois eu precisarei comparar cada item do array dados com os que tiver na lista.

6 Respostas

darlan_machado

O famoso “essa eu sabia com laranjas”.

List<int[]> listaDeVetorDeInteiros = new ArrayList<int[]>();
int[] vetor = new int[]{1, 2, 3, 4, 5};
listaDeVetorDeInteiros.add(vetor);
SergioAraujo
OK, funcionou. Mas agora vem a segunda parte:

Eu preciso, a cada vez que inserir o vetor, que se faça um sort na lista.

No ArrayList tem o Collections.sort();

Aqui ele mostra uma mensagem de erro dizendo:

Inferred type int[] for type parameter T is not within its bound; should implement 'java.lang.Comparable<? super int[]>

Aparentemente o tipo INT não serve para o sort.

Alguma solução para o sort?

darlan_machado

O que acontece é que você precisa, primeiro, fazer o sort e depois inserir. Como você está vendo, a exceção indica que o tipo int[] não implementa comparable, logo, permite a execução desta ordenação.

Lucas_Camara

Use o array com o wrapper Integer em vez de int para ver se funciona.

SergioAraujo

Mesma mensagem de erro, apenas trocando int por Integer.

SergioAraujo

Desculpe a NOOBice, mas vc teria um exemplo que implementasse a solução? Eu não entendi/consegui fazer o sort antes de inserir (ele fica fazendo o sort automaticamente depois pra cada inserção?)… Onde que teria que colocar, e se tiver que usar o comparable, como fazer? eu até agora só achei exemplos do uso com lista de objetos…

Criado 28 de maio de 2018
Ultima resposta 3 de jun. de 2018
Respostas 6
Participantes 3