![](/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.