我处于一种状态,要求始终始终一张一张地填充一个列表,我想删除整个列表,但只留下最后一个索引

我一直在尝试这些片段。但是它会一一删除整个行

 int totalListPeriodeClick   = listPeriodeClick.size();

    if(listPeriodeClick.size() == 0) {
        listPeriodeClick.add("2019-04-30");
    } else if (listPeriodeClick.size() == 1) {

    } else if (listPeriodeClick.size() > 1){

        for (int i = 0; i < totalListPeriodeClick; i++){
            listPeriodeClick.remove(0);
        }
            setListPeriodeClickString(listPeriodeClick.get(0));
    }




for (int i = 0; i < totalListPeriodeClick; i++){
            listPeriodeClick.remove(0);
        }


我想获得最后的索引,此代码将具有0索引作为list.get(0)

setListPeriodeClickString(listPeriodeClick.get(0));


怎么做?

最佳答案

为什么不:

if (! listPeriodeClick.isEmpty()) {
  PeriodeClick last = listPeriodeClick.get(listPeriodeClick.size()-1);
  listPeriodeClick.clear();
  listPeriodeClick.add(last);
}


手动迭代(可能很大)列表以删除元素确实没有任何意义。记住最后一个条目,丢弃所有内容,然后重新添加最后一个条目。如果要保存另一个方法调用,请使用

int size = listPeriodeClick.size();
if (size > 1) { ...

08-04 01:37