Java 二维数组通过[0]获取[1]
当使用JDK-14将IDS[n][0]作为输入提供时,检索值IDS[n][1]的最快单行实现是什么 我不想使用for(不是一行实现)。理想情况下,我们希望通过最近添加的java特性或数组库来实现这一点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 },
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可能想把它作为一个例子输入/输出在您的问题中,让它清楚。如果这是要求,为什么不使用映射类型?这只是一个琐碎的问题吗?