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

时间:2016-05-17 02:28:11

标签: java

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

3 个答案:

答案 0 :(得分:1)

如果你使用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);

答案 1 :(得分:0)

由于删除数组项需要在每次操作时重新索引(在这种情况下!只是为了澄清),我想说更好的方法是迭代数组并使用模运算符来检测奇数索引。但是根据格式,您的值实际上是奇数索引。你想跳过偶数索引

e.g。

for (int i=0; i<array.length; i++) {
        if (i%2 == 1) {
            //parse the value
        }
    }

考虑到这个问题,你应该考虑一下你正在处理的语言是如何运作的。数组索引缺乏理解会导致更多问题。

答案 2 :(得分:0)

阵列具有固定的大小,因此无法更改。如果你不关心你正在使用的内存(这是一种可怕的做法,如果你在工作中使用它,我真的不推荐它)你可以在它的位置创建一个新的数组。

在此示例中假装旧数组的名称为“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];
    }
}

那就是说,我认为有更好的方法可以解决这个问题,但我目前的经验水平使我无法建议另一种方法。祝你好运,希望我有点帮助。