android:控制List长度remove指定元素


if (mList == null) {		//防止内存泄漏进行判断
    mList = new ArrayList<>();
}
if (mList.size() > 9) {		//这里是让List的size是10
    int size=mList.size();
    for (int i = size-1; i > 9; i--) {
        mGridList.remove(i);
    }
}
//删除的时候不能写成
int size=mList.size();
    for (int i = 10; i < size; i++) {
        mGridList.remove(i);
    }



原因是:List没remove掉一个元素后,后面的元素都会向前移动,这时候执行i++,刚刚移过来的元素不会被读取,
从而会被漏掉,没有删除彻底,最后甚至会造成索引越界异常

你可能感兴趣的:(android)