Java 二维数组通过[0]获取[1]

Java 二维数组通过[0]获取[1],java,Java,当使用JDK-14将IDS[n][0]作为输入提供时,检索值IDS[n][1]的最快单行实现是什么 我不想使用for(不是一行实现)。理想情况下,我们希望通过最近添加的java特性或数组库来实现这一点 private static final int[][] IDS = { { 20835, 21608 }, { 21608, 21609 }, { 20832, 21602 }, { 21602, 21603 }, { 20833, 21605 },

当使用JDK-14将IDS[n][0]作为输入提供时,检索值IDS[n][1]的最快单行实现是什么

我不想使用for(不是一行实现)。理想情况下,我们希望通过最近添加的java特性或数组库来实现这一点

private static final int[][] IDS =
{
    { 20835, 21608 },
    { 21608, 21609 },
    { 20832, 21602 },
    { 21602, 21603 },
    { 20833, 21605 },
    { 21605, 21606 },
    { 21625, 21623 },
    { 21623, 21624 },
    { 20842, 21620 },
    { 21620, 21621 }
};
例1: 输入:20835
输出:21608在JDK 11的在线编译器上测试。GiveMeAName方法将是您的实现。这假设任何传递的参数都确实存在,否则您将得到一个异常

import java.util.Arrays;
public class MyClass {
    
    private static final int[][] IDS =
    {
        { 20835, 21608 },
        { 21608, 21609 },
        { 20832, 21602 },
        { 21602, 21603 },
        { 20833, 21605 },
        { 21605, 21606 },
        { 21625, 21623 },
        { 21623, 21624 },
        { 20842, 21620 },
        { 21620, 21621 }
    };
    
    public static void main(String args[]) {
      System.out.println(GiveMeAName(20835 ));
    }
    
    public static int GiveMeAName(int searchValue) {
        return Arrays.stream(IDS).filter(e -> e[0] == searchValue).map(e -> e[1]).findFirst().get();
    }
}

使用流API
Arrays.Stream(id).map(e->e[1]).collect(Collectors.toList())
IDS[0][1]
?不知道你到底在问什么。预期的结果是什么?基本上我想搜索20835并返回21608 e.t。c@fewkfwkfewfw可能想把它作为一个例子输入/输出在您的问题中,让它清楚。如果这是要求,为什么不使用映射类型?这只是一个琐碎的问题吗?