我需要从列表中删除第i个元素。
List<MyElement> MyList = new ArrayList<MyElement>();
for (int i=0; i<5; i++)
{
MyElement em = new MyElement(i);
MyList.add(em);
}
MyList.remove(3);
结果MyList看起来像这样:
[0][1][2][4][null]
而不是:
[0][1][2][4]
如何删除null
元素?
答案 0 :(得分:2)
试试这个,它不会假设null在最后。
Iterator<MyElement> ml = MyList.iterator();
while (ml.hasNext()) {
MyElement em = ml.next(); // must be called before you can call ml.remove()
if (em == null) {
ml.remove();
}
}
答案 1 :(得分:2)
删除元素后调用MyList.trimToSize()
。