Dudida como enumerar um array

8 respostas
tiora

Tem como eu enumerar uma array list .
Ou seja tem como eu criar um metodo para costruir listas automaticas sem precisar ter que declarar a lista.
Minha dúvida é a seguinte, criei um método que constroi sequências aleatorias de 3 números ,exemplo ( 1, 2, 5) , ( 2, 3 , 6), agora eu queria uma maneira de organizar essas sequencias ( não a ordem dos elementos e sim a sequencia toda) , pois isso é uma combinação de números , so que não sei como fazer isso, se da pra fazer atraves de um array ou de uma matriz. Ou seja gostaria de saber se tem com eu enumerar automaticamente as listas com cada sequencia para poder depois buscalas.

8 Respostas

adriano_si

Como assim “não na ordem dos elementos mas sim a sequencia toda” ?? Não entendi… queres ordenar numericamente, caso o Sistema gere a sequencia: 4,8,2

Você quer que fique: 2,4,8

É isso ?? Se for, use o utilitário

Collections.sort(suaLista);
adriano_si

Acho que te entendi… queres criar um índice para os teus elementos ???

Tipo [1 -> 4, 2 -> 8, 3 -> 10] ???

Aí vais ter usar um Map… dá uma pesquisada sobre Maps e vais achar o que queres…

tiora

seria mais ou menos isso um metodo de enumerar as sequencias que são formadas aleatoriamente exemplo: lista1(1, 3 ,4 ) , lista 2( 2 , 3 , 5) …listan(2, 4 ,5 )

tiora

estou criando um método que me da todas as combinações possiveis de 6 numeros tomados 3 a 3 . mas não sei como posso organizar estas sequencias por ordem .

tiora

Quero que a medida que as sequencias sejam geradas , eu possa buscar por exemplo qual foi a 3ªsequencia gerada apos o programa terminar de construir todas as sequencias

tiora
romarcio

O que eu entendi foi algo assim:

1° vc cria varias listas, cada uma delas com 3 valores.
2° depois vc quer colocar essas listas em outra lista onde possa nomear cada uma das listas criadas no passo 1.

Se for isso, poderia fazer algo assim:

public static void main(String[] args) {
        //cria um Map para armazenar um chave(nome da lista) e seus valores
        //String: vai ser o nome da chave
        //List<Integer>: vai ser a lista criada com 3 elementos
        Map<String, List><Integer> > map = new LinkedHashMap<String, List><Integer> >();

        //fiz um for para criar 10 listas e nomea-las conforme a posicao no for
        for (int x = 0; x < 10; x++) {
            //em cada iteração do for, cria-se uma lista nova
            List<Integer> list = new ArrayList<Integer>();
            //seleciono os 3 elementos através de um randon(aqui use o que quizer)
            for (int i = 0; i < 3; i++) {
                list.add((int) (Math.random() * 10) );
            }
            //se precisar ordenar os elementos dentro da lista criada
            Collections.sort(list);
            //insere no map o nome da lista(lista + posicao no 1° for) e a lista criada
            map.put("lista" + x, list);
        }

        //Algumas formas de visualizar
        
        System.out.println("Todas as listas: " + map);
        
        System.out.println("lista pela chave: " + map.get("lista2"));

        //lista todas pela chave
        for (int i = 0; i < map.size(); i++) {
            System.out.println("lista " + i + ": " + map.get("lista" + i));
        }
}

Isso foi o que entendi, se for isso, talvez tenha até outras maneiras mais fáceis de fazer isso, mas tudo depende também de como vai utilizar essas listas depois de criadas.

tiora

Cara acho que isto mesmo , so precisei mudar a linha 5 por
Map map = new LinkedHashMap();
funcionou beleza so quero ver se consigo desenvolver meu projeto apartir disto muito obrigado.

Criado 29 de outubro de 2010
Ultima resposta 31 de out. de 2010
Respostas 8
Participantes 3