有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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


共 (3) 个答案

  1. # 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);
    
  2. # 2 楼答案

    数组具有固定大小,因此无法更改。如果您不关心正在使用的内存(这是一种糟糕的做法,如果您在工作中使用此方法,我并不推荐这样做),您可以在其位置创建一个新数组

    在本例中,假设旧数组的名称为“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];
        }
    }
    

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

  3. # 3 楼答案

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

    例如

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

    考虑到这个问题,你应该考虑一下你所使用的语言是如何工作的。缺乏对数组索引的理解将给您带来更多的问题