[英]Returning the first element of each element in a list?
我不確定該怎么做,
說我有這個,
List<SetOfStuff> example = [[a,b,c],[1,2,3],[x,y,z]];
return example;
有沒有辦法讓我只返回每組的第一個元素,例如。
return [[a],[1],[x]];
甚至更好
return [a,1,x];
謝謝您的幫助
基本上,你是用這一行在列表中定義一個集合(我猜這個SetOfStuff是某種Set):
List<SetOfStuff> example = [[a,b,c],[1,2,3],[x,y,z]];
您需要首先使用List的get()方法從example
獲取元素,然后從List的get()獲取返回結果的第一個元素。 要訪問List中的每個元素(所以每個Set),你需要某種循環。 下面是關於如何做到這一點的半偽代碼。 這取決於如何訪問SetOfStuff中的元素。
List<Object> firstElements = new List<Object> (); // normally, using Object is not a great idea, but I don't know much about the data in example. Change this accordingly
for (int i = 0; i < example.size(); i++){ // this iterates over every element in the list
firstElements.add(example.get(i).getFromSet(0)); // in this, I assume that getFromSet(0) gets the first element from the SetOfStuff object
}
這是您正在尋找的基本格式。 如果您有任何疑問,請告訴我。
如果SetOfStuff具有結構,並且您聲明它是一個POJO,那么如果它還沒有,則給它一個getId()
方法。 然后,開始
public List<SetOfStuff.ID> extractIds(List<SetOfStuff> stuffList) {
List<SetOfStuff.ID> ids = new ArrayList<>() // Java 7.
for((SetOfStuff stuff: stuffList) {
ids.add(stuff.getId());
}
return ids;
}
如有必要,請使用實際類型的SetOfStuff.ID
。 考慮一個帶有transform方法的函數式編程庫,盡可能使用Java 8 lambdas。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.