![](/img/trans.png)
[英]When reading from a java util List, why do all elements return the last element? (generalized)
[英]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.