5

在 Bash 中,如果我想以给定的顺序遍历数组的元素,我可以这样做:

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

是否可以在 Java 中做相同(或相对相同)的事情?

4

4 回答 4

6

你可以写

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

附录:现场演示

于 2013-08-18T05:55:28.657 回答
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

现场演示在这里

仅供参考:这应该只在 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
于 2013-08-18T06:05:37.673 回答
1

是的,你可以这样做

    for (int i : new Integer[]{1, 3, 8, 2, 5, 9}) {
        // do something
    }
于 2013-08-18T05:57:04.900 回答
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);
        }
    }


}

这将打印出:

1
2
3
4
5
于 2013-08-18T05:57:42.263 回答