You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何同时访问数组的多个非连续指定索引?

Java中能否同时访问数组的多个非连续索引?

首先明确:Java原生语法不支持直接通过myArray[1,3]或传入索引数组myArray[indexes]这种方式访问非连续索引。

原生语法下的常规写法

如果要获取索引1和3的值,你提到的这种写法是最直接的方式:

int[] myArray = {1, 3, 5, 7, 9};
System.out.print(myArray[1] + myArray[3]);

实现类似需求的替代方案

如果需要频繁处理这类非连续索引的访问,可以自己封装工具方法来简化操作,比如:

import java.util.Arrays;
import java.util.stream.IntStream;

public class ArrayUtils {
    public static int[] getElements(int[] array, int... indexes) {
        return IntStream.of(indexes)
                        .map(i -> array[i])
                        .toArray();
    }
}

使用时就可以这样调用:

int[] myArray = {1, 3, 5, 7, 9};
int[] selected = ArrayUtils.getElements(myArray, 1, 3);
// 输出选中的元素
System.out.print(Arrays.toString(selected)); // 输出 [3, 7]

或者如果只是要直接输出这些元素,也可以写个工具方法直接处理:

public static void printElements(int[] array, int... indexes) {
    IntStream.of(indexes)
             .map(i -> array[i])
             .forEach(System.out::print);
}

调用:

printElements(myArray, 1, 3); // 输出 37

补充说明

  • Java数组的下标语法只支持单个整数索引,这是语言层面的规定,没有语法糖支持多索引直接访问。
  • 若使用第三方工具库(比如Apache Commons Lang),也有现成工具类可实现类似功能,但简单需求下自行封装轻量方法更便捷。

内容的提问来源于stack exchange,提问作者Kevin.J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:55:16