簡體   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