【发布时间】:2013-03-28 15:12:21
【问题描述】:
我需要一个从“myList”中删除所有九的方法。有什么帮助,谢谢。
public class ArrayListPractice
{
ArrayList <Integer> myList = new ArrayList <Integer>();
public ArrayListPractice()
{
myList.add(6);
myList.add(2);
myList.add(7);
myList.add(3);
myList.add(12);
myList.add(1);
myList.add(9);
myList.add(9);
myList.add(3);
myList.add(5);
myList.add(9);
}
}
【问题讨论】:
-
O(n) 问题,因为它是一个数组。只需循环,如果值为 9,则将其删除。排序只会让事情变得更糟
-
为什么不直接不添加它们呢?
-
切换到基数 9 而不是十进制。这消除了 O(1) 中的所有 9。
-
for(Iterator i=list.iterator();i.hasNext();if(i.next().equals(9))i.remove();现在它会向后减少副本。
标签: java collections