2013-08-18 4 views
5

In Bash, se volevo scorrere gli elementi di un array in un dato ordine, ho potuto farlo in questo modo:Java - iterare un ciclo for in un dato ordine

for i in 1 3 8 2 5 9; do 
     array[i] = <some_algorithm_based_value> 
    done 

E 'possibile fare la stessa cosa (o relativamente la stessa cosa) in Java?

risposta

6

È possibile scrivere

for (int i: Arrays.asList(1, 3, 8, 2, 5, 9)) { 
    doSomethingWith(array[i]); 
} 

APPENDICE: Live demo

1

sì, si può fare in questo modo

for (int i : new Integer[]{1, 3, 8, 2, 5, 9}) { 
     // do something 
    } 
1

Si può fare questo:

package com.sandbox; 

import java.util.Arrays; 

public class Sandbox { 

    public static void main(String[] args) { 
     for (Integer integer : Arrays.asList(1, 2, 3, 4, 5)) { 
      System.out.println(integer); 
     } 
    } 


} 

Questa volontà pr int out:

1 
2 
3 
4 
5 
3

si può provare questo

int[] arr= new int[]{1, 3, 8, 2, 5, 9}; 
    for(int i:arr){ 
     System.out.println(i); 
    } 

Fuori messo

1 
3 
8 
2 
5 
9 

demo dal vivo here

FYI: questo dovrebbe funzionare solo in JDK 1.7, dal momento che la prima versione di jdk non può avere un tipo primitivo per ciascuno.

Quindi se si utilizza la versione precedente di java. è necessario convertire int[] a Integer[] Si può provare questo

int[] arr= new int[]{1, 3, 8, 2, 5, 9}; 
    Integer[] str=new Integer[arr.length]; 
    for(int i=0;i<arr.length;i++){ 
     str[i]=arr[i]; 
    } 
    for(Integer i:arr){ 
     System.out.println(i); 
    } 

Fuori messo

1 
3 
8 
2 
5 
9