【问题标题】:How to print out array index 2-5如何打印出数组索引 2-5
【发布时间】:2020-05-05 18:02:58
【问题描述】:

我正在创建一个涉及数组的程序,并且有一次我想打印出数组的一部分。我想知道如何打印出例如数组索引 2-5。

我尝试过这样做,但没有成功。

String[] testArray = {"a", "b", "c", "d", "e", "f'", "g"};
System.out.println(testArray[2,5]);

但它没有用。 (我也没有完全预料到)。

我只是想知道你会怎么做这样的事情。

【问题讨论】:

标签: java


【解决方案1】:

你可以使用Arrays::copyOfRange,像这样:

Arrays.copyOfRange(testArray, 2, 5)

要打印结果,您可以使用:

System.out.println(Arrays.toString(Arrays.copyOfRange(testArray, 2, 5)));

输出

[c, d, e]

【讨论】:

    【解决方案2】:

    你可以循环执行:

    for (int i = 2; i < 6; i++) {
        System.out.println(testArray[i]);
    }
    

    【讨论】:

      【解决方案3】:

      如果你想打印从索引 2 到索引 5 的数组元素

      public void printArrayInIndexRange(String[] array, int startIndex, int endIndex) {
            for(int i = startIndex; i < endIndex && i < array.length; i++) {
                System.out.println(array[i]);
            }       
      }
      

      然后简单地调用方法:

      printArrayInIndexRange(testArray, 2, 5);
      

      注意:条件i &lt; array.length 有助于避免IndexOutOfBoundException

      【讨论】:

        【解决方案4】:

        你可以使用System.arraycopy这里是java documentation

        // copies elements 2 and 5 from sourceArray to targetArray
        
            System.arraycopy(sourceArray, 2, targetArray, 0, 4);
        

        将您的array 包装为list,并请求其中的sublist

        MyClass[] array = ...;
        List<MyClass> subArray = Arrays.asList(array).subList(startIndex, endIndex);
        

        【讨论】:

          【解决方案5】:

          你有两个选择:

          1) 使用Arrays.copyOfRange() 方法。

          2) 如果您使用的是 Java8,那么您可以使用流来完成您的工作,如下所示:

          int[] slice = IntStream.range(2, 5)
                                  .map(i -> testArray[i])
                                  .toArray(); 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-06-10
            • 1970-01-01
            • 2022-01-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多