繁体   English   中英

从java集合中的给定列表中删除除最后一个元素之外的所有元素

[英]Deletes all but the last element from a given list in java collections

在下面实现一个方法,该方法删除给定列表中除最后一个元素之外的所有元素。

import java.util.ArrayList;
import java.util.List;
public class MyClass {
public static void allButLast(List<String> list)
{
   List<String> set = new ArrayList<String>();
   for (int k : list)
   {
      set.remove(0, -2);
   }
   return set;
}

我刚开始编程,这是一个练习题,我想知道这种类型的解决方案是否有意义。 我从第一个数组块(0)开始,它在最后一个元素(-2)之前的数组块处停止并删除它,只保留最后一个元素并在最后返回它。

伪代码:

while (list.length() > 1)
{
    list.removeElementAt(0);
}

return类型void更改为List<String>

public static List<String> allButLast(List<String> list)
{
   List<String> set = new ArrayList<String>();
   String last=set.remove(set.size() - 1);
   set.clear();
   set.add(last);
   return set;
}

或者

public static List<String> allButLast(List<String> list)
{
   List<String> set = new ArrayList<String>();
   set.subList(0, set.size() - 1).clear();
   return set;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM