Java数组,使用数组的一个元素作为引用从另一个数组中获取元素,然后创建另一个新数组

Java数组,使用数组的一个元素作为引用从另一个数组中获取元素,然后创建另一个新数组,java,arrays,Java,Arrays,有人知道如何使用数组作为引用,通过for循环或其他有用的方法获取另一个数组中的元素吗? 例如,我在下面得到了多个数组,运行程序后,输出数组将具有 int[] array = { 0, 1, 3, 4, 5, 6, 8 }; int[] c = { 18, 19, 20, 21, 22, 23, 24, 25, 26 }; 在我运行程序之后 output ={18,19,21,22,23,24,26} //this is generate through below output[0]=c[

有人知道如何使用数组作为引用,通过for循环或其他有用的方法获取另一个数组中的元素吗? 例如,我在下面得到了多个数组,运行程序后,输出数组将具有

int[] array = { 0, 1, 3, 4, 5, 6, 8 };
int[] c = { 18, 19, 20, 21, 22, 23, 24, 25, 26 };
在我运行程序之后

output ={18,19,21,22,23,24,26}


//this is generate through below
output[0]=c[0];
output[1]=c[1];
output[2]=c[3];
output[3]=c[4];

由于数组索引是通常的整数值,因此它们不需要硬编码:

int[] indeces = { 0, 1, 3, 4, 5, 6, 8 };
int[] values = { 18, 19, 20, 21, 22, 23, 24, 25, 26 };
int[] output = new int[indeces.length]

for (int i = 0; i<indeces.length; i++) {
    output[i] = values[indeces[i]];
}
int[]索引={0,1,3,4,5,6,8};
int[]值={18,19,20,21,22,23,24,25,26};
int[]输出=新的int[indeces.length]

对于(int i=0;i您可以访问如下值:

output[i]=c[array[i]];

我将让您围绕语句组装循环:)

您可以使用下面的代码来实现这一点

int[] array = { 0, 1, 3, 4, 5, 6, 8 };
 int[] c = { 18, 19, 20, 21, 22, 23, 24, 25, 26 };
 int output [] = new  int[array.length];
 int cnt =0 ;
 for(int a : array){
     if(a < c.length && a >= 0){
      output[cnt++]=c[a];
      }
 }
int[]数组={0,1,3,4,5,6,8};
int[]c={18,19,20,21,22,23,24,25,26};
int-output[]=新的int[array.length];
int-cnt=0;
for(int a:array){
如果(a=0){
输出[cnt++]=c[a];
}
}

这是一个非常简单的解决方案当然还有其他方法可以达到同样的效果

你的问题是什么?您想知道是否可以通过循环而不是硬编码索引来实现输出吗?您可以访问如下值
c[array[0]]
。添加一个for循环来遍历
数组
,就是这样。是的,只是想知道有没有其他更好的方法来实现这一点