需要从此数组中删除所有九个

时间:2013-03-28 15:12:22

标签: java collections

我需要一个方法来删除“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);
    }
}

5 个答案:

答案 0 :(得分:2)

始终使用javadoc开始。

final Integer nine = Integer.valueOf(9);
while (myList.remove(nine)) { }
如果列表包含元素,则

remove返回true。

答案 1 :(得分:1)

List<int> indexWithNine = new ArrayList<int>();
for (int i=0; i< myList.length; i++){
  if (myList.get(i) == 9)
     indexWithNine.add(i);
}
for (int i=indexWithNine.length-1; i=0; i--)
{
  myList.remove(indexWithNine.get(i));
}

答案 2 :(得分:1)

试试这个。

ArrayList list1 = new ArrayList();
list1.add( 9 );        
myList.removeAll( list1 );

希望有所帮助

答案 3 :(得分:1)

试试这个:它会从你的ArrayList myList中删除所有出现的9。

myList.removeAll(Collections.singleton(9));
之前的

myList:[6,2,7,3,12,1,9,9,3,5,9]

myList after:[6,2,7,3,12,1,3,5]

答案 4 :(得分:0)

这样的事应该做​​。

public List removeNines(List myList){
    Iterator itr = myList.iterator();
    while(itr.hasNext()){
        if(itr.next() == 9){
             itr.remove();
        }
    }
    return myList; 
}