[英]How do I print out an ArrayList<Integer> from a HashSet<ArrayList<Integer>>?
我有一個HashSet<ArrayList<Integer>>
。 其打印格式為:
[ [1, 2], [11, 22], [111, 222] ]
現在,如果我只想打印最后一個[111, 222]
Array<Integer>
,該怎么做? HashSet
是否有與indexOf()
類似的方法?
您不能,因為Set內沒有順序,因此也沒有索引。 因此,您的“最后一個”元素並不總是相同的。 如果需要它們,可以使用LinkedHashSet 。
或者,您可以遍歷Set的所有元素,然后找到要打印的元素。
HashSet中的元素不會以任何定義的順序存儲。 因此,詢問HashSet的“最后一個”元素沒有任何意義。
如果需要有序集,請使用LinkedHashSet。
如果需要排序集,請使用TreeSet。
HashSet
不維持秩序,所以你將無法使用API如indexOf()
與HashSet
。 您需要使用List
代替Set來獲取indexOf()
最后一個元素。
List<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
// Add elements in the list
list .indexOf(list.size()-1); // This will fetch you the last element
不,但是您可以迭代到最后一個元素並打印:
Iterator i = set.iterator();
List last = null;
while(i.hasNext())
last = i.next();
...
或者,您可以將集合轉換為列表並獲取最后一個元素:
List list = new ArrayList(set);
List last = list.get(list.size() - 1);
...
您可以迭代到最后一個元素,然后僅打印最后一個。
最好的方法是使用TreeSet而不是HashSet。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.