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