java - 如何删除整个列表但只留下最后一个索引

标签 java android string list arraylist

我的情况是需要始终一一填写 1 个列表,我想删除整个列表但只保留最后一个索引

我一直在尝试使用这些 fragment 。但是它会一一删除整行

 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);
        }

我想通过此代码获取最后一个索引,该索引将作为 list.get(0) 的 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) { ...

关于java - 如何删除整个列表但只留下最后一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56643990/

相关文章:

java - 数据库的单例模式。

java - Spring Boot 测试在 Eclipse 中失败,但在命令行上通过(由于 PropertyResolver 为 Null,无法加载 ApplicationContext)

java - 在微调器中选择项目后,它没有反射(reflect)给我(肉眼不可见)

Android BLE 连接时间间隔

c - 字符数组末尾的意外字符 - C

java - 如何让程序在连字符后打印单词的反面?

java - 使用循环 for 将内容添加到 linkedList java

Java API的newInstance和OSGi

android - Android Studio:Gradle 'project_name'项目刷新失败

c# - 使用大字符串对方法进行单元测试