-4

我需要一种从“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);
    }
}
4

5 回答 5

2

始终从javadoc开始。

final Integer nine = Integer.valueOf(9);
while (myList.remove(nine)) { }

如果列表包含该元素,则 remove 返回 true。

于 2013-03-28T15:17:22.137 回答
1

尝试这个。

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

希望能帮助到你

于 2013-03-28T15:20:36.483 回答
1

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

myList.removeAll(Collections.singleton(9));

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

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

于 2013-03-28T15:24:53.973 回答
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));
}
于 2013-03-28T15:16:52.087 回答
0

这样的事情应该做。

public List removeNines(List myList){
    Iterator itr = myList.iterator();
    while(itr.hasNext()){
        if(itr.next() == 9){
             itr.remove();
        }
    }
    return myList; 
}
于 2013-03-28T15:18:53.770 回答