删除arraylist中的项目

时间:2015-05-09 12:43:48

标签: java arraylist

我正在编写一种方法来删除arrayList中的最小项目。我已经找到了正确的最小项目,但是,老实说,我对删除方法没有任何线索,我相信我的代码的后半部分完全没用。任何帮助表示赞赏!

  public Comparable remove(){
      Iterator<T> iterator=iterator();
      T min = iterator.next();
      while (iterator.hasNext())
      {  
         T next = iterator.next();
         if (min.compareTo(next) > 0) 
            min = next;
            size--;
            **Bag<T> newBag=new Bag<T>();
            for (int i=0; i<size;i++){
                newBag=(Bag<T>) data[i];
                System.out.println(newBag);**
            }
      }
    return min;
  }

4 个答案:

答案 0 :(得分:2)

使用Iterator是个好主意(它是线程安全的)但你不需要在这里使用interator,因为你没有在迭代时修改列表,也你不需要排序列表找到minmum元素,因为这很昂贵。

你尝试过的很好但是不了解你的一些代码但是尝试这样:

 public void remove(List<T> list){

    T min = Collections.min(list);

    list.remove(min)

  }

答案 1 :(得分:2)

您可以从列表中获取最小值:

Collections.min(list);

然后你可以从列表中删除:

list.remove(Collections.min(list)));

答案 2 :(得分:1)

我们可以从ArrayList中删除一个对象。你应该做的是跟踪找到最小值的索引,然后删除该元素。

e.g。

arrayList.remove(index);

答案 3 :(得分:0)

您可以使用内置功能轻松完成。

ArrayList使用Collections.min(Name_Of_ArrayList);

它会在ArrayList中为您提供最小的对象,将该值保存在Object变量中

然后,您可以使用Name_Of_ArrayList.remove(Object);

将其删除

以下是代码:

Object minimum= Collections.min(Name_Of_ArrayList);
Name_Of_ArrayList.remove(minimum);