Array [RESOLVIDO]

5 respostas
welingtondias

Galera blz?

Existe alguma possibilidade de imprimir/exibir somente alguns determinados itens de um array?

Ex.:
Criando um array:

List<String> array = new ArrayList<String>(); array.add("Parana,"); array.add("BH,"); array.add("Araxa,"); array.add("Sabará,"); array.add("Veneza,"); array.add("Rondonia,");

Exibir agora somente os elementos apartir do valor “Araxa”?

5 Respostas

F

Faz um for de i começando na posição do Array referente a Araxa e vai dando “sop” com get(i).

Isso é considerando que você vai saber qual é a posição de Araxa. Se não, tem que fazer o que o amigo abaixo disse:

Usa o indexOf pra definir aonde começa o contador do for.

Kura

Pô. Você pode usar o método indexOf do array para pegar a posição no vetor no qual se encontra o primeiro item que você quer exibir.
Depois é só percorrer o array com o valor inicial igual ao retornado pelo indexOf, sacou?

isaiaspf

Welington,

Você pode fazer da seguinte forma:
/**
	 * Imprime valores da lista a partir do valor passado.
	 * 
	 * @param list
	 * @param fromValue
	 */
	public static void printListValues(List<String> list, String fromValue) {
		Boolean startPrinting = Boolean.FALSE;
		for(String value : list) {
			if(!startPrinting && value.indexOf(fromValue) >= 0) {
				startPrinting = Boolean.TRUE;
				continue;
			}
			else if(startPrinting) {
				System.out.println(value);
			}
		}
	}
E para rodar:
List<String> list = new ArrayList<String>();  
	    list.add("Parana,");  
	    list.add("BH,");  
	    list.add("Araxa,");  
	    list.add("Sabará,");  
	    list.add("Veneza,");  
	    list.add("Rondonia,");
	    
	    printListValues(list, "Araxa");
Abraço.
welingtondias

Muito obrigado galera certin aqui.

JM4X

Eu faria assim:

public static void printFrom(List<String> list, String from) {
        List<String> sublist = list.subList(list.indexOf(from), list.size());
        for (String string : sublist) {
            System.out.println(string);
        }
}

Quando escrevi pensei em eficiência.
Por isso optei por não fazer comparações dentro do laço.
Poderia utilizar um for convencional,
mas o for aprimorado é mais eficiente quando a implementação da estrutura pode variar.

Espero que ajude.
[]’ s

NÃO ESQUEÇA DE MARCAR O TOPICO COMO [RESOLVIDO]… a comu agradece.

Criado 15 de julho de 2011
Ultima resposta 15 de jul. de 2011
Respostas 5
Participantes 5