2013-08-18 48 views
5

在bash,如果我想通過在一個給定的順序一個數組中的元素進行迭代,我可以這樣做是這樣的:爪哇 - 遍歷一個for循環中給定的順序

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

是否有可能做Java中的相同(或相對相同)的東西?

回答

6

你可以寫

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

附錄:Live demo

1

是的,你可以這樣來做

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

你可以這樣做:

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); 
     } 
    } 


} 

這將PR int的列:

1 
2 
3 
4 
5 
3

你可以試試這個

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

出把

1 
3 
8 
2 
5 
9 

現場演示here

FYI:這應該只在JDK 1.7,因爲早期版本的jdk不能每個都有一個原始類型。

所以如果你使用的是java的早期版本。你必須int[]轉換爲Integer[] 你可以試試這個

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); 
    } 

出把

1 
3 
8 
2 
5 
9