如何删除整个列表,但只保留最后一个索引

时间:2019-06-18 07:38:13

标签: java android string list arraylist

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

我一直在尝试这些片段。但是它会删除一行中的所有内容

 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-index作为list.get(0)

setListPeriodeClickString(listPeriodeClick.get(0));

如何完成?

1 个答案:

答案 0 :(得分:3)

为什么不呢?

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

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

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