Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法从数组中删除奇数索引?_Java - Fatal编程技术网

Java 有没有办法从数组中删除奇数索引?

Java 有没有办法从数组中删除奇数索引?,java,Java,我正在制作一个程序,在网络上搜寻数据,但我在寻找数字,而不是数字的标签。我已经设法以这种格式在数组中获取了这两个元素[Title,Value,Title,Value]等等。有没有办法从数组中删除奇数索引,或者我应该使用另一种方法来解析偶数值的数据?,因为删除数组项需要在每次操作时重新编制索引(在本例中!只是澄清一下),我认为更好的方法是迭代数组,并使用模运算符检测奇数索引。然而,给定格式,您的值实际上位于奇数索引上。要跳过偶数索引吗 e、 g for(int i=0;i如果使用arraylist

我正在制作一个程序,在网络上搜寻数据,但我在寻找数字,而不是数字的标签。我已经设法以这种格式在数组中获取了这两个元素[Title,Value,Title,Value]等等。有没有办法从数组中删除奇数索引,或者我应该使用另一种方法来解析偶数值的数据?

,因为删除数组项需要在每次操作时重新编制索引(在本例中!只是澄清一下),我认为更好的方法是迭代数组,并使用模运算符检测奇数索引。然而,给定格式,您的值实际上位于奇数索引上。要跳过偶数索引吗

e、 g


for(int i=0;i如果使用arraylist,则可以轻松地执行此操作

for (int i = 0; i < arr.size(); i++)
 {
     if (i % 2 == 0)
     {
            list.add(arr.get(i));//add the indexes you want to a new list
     }
 }
  arr.clear(); //clear the old list
  System.out.println(list);
for(int i=0;i
阵列的大小是固定的,因此无法更改。如果您不关心正在使用的内存(这是一种糟糕的做法,如果您在工作中使用此方法,我并不推荐这样做),则可以在其位置创建一个新阵列

在本例中,假设旧数组的名称为“oldArray”:

int newArray = oldArray.length / 2;
for (int i = 0; i < oldArray.length; i++) {
    for (int j = 0; j < oldArray.length / 2; j++) {
        if (i % 2 == 0)
            newArray[j] = oldArray[i];
    }
}
int newArray=oldArray.length/2;
对于(int i=0;i

也就是说,我认为有更好的方法来处理这个问题,但我目前的经验水平使我无法提出另一种方法。祝你好运,希望我能帮上一点忙。

任何一种方法都可以。跳过奇数索引将比重建数组更有效,除非你进行了多次读取。我认为你应该这样做以某种方式迭代列表,除非您可以避免首先添加不需要的数据。如果不首先将不需要的数据添加到数组中,效率会更高。@ErebusNox没问题,如果它确实有效,您能否接受正确的答案。?
int newArray = oldArray.length / 2;
for (int i = 0; i < oldArray.length; i++) {
    for (int j = 0; j < oldArray.length / 2; j++) {
        if (i % 2 == 0)
            newArray[j] = oldArray[i];
    }
}