【问题标题】:Java - iterate a for loop in a given orderJava - 以给定的顺序迭代一个 for 循环
【发布时间】:2013-08-20 04:58:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: java for-loop iteration


    【解决方案1】:

    你可以写

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

    附录:Live demo

    【讨论】:

      【解决方案2】:

      是的,你可以这样做

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

      【讨论】:

        【解决方案3】:

        你可以这样做:

        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
        

        【讨论】:

          【解决方案4】:

          你可以试试这个

            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

          仅供参考:这应该只在 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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-12-14
            • 1970-01-01
            • 2013-04-25
            • 1970-01-01
            • 1970-01-01
            • 2021-03-27
            相关资源
            最近更新 更多