[英]What is the fastest way to get the longest LinkedList in a LinkedList of LinkedList?
我的數據結構是列表列表,確切地說是LinkedList<LinkedList<String>>
由於我有一些列表,所以我只想找到更大的列表。 最快的方法是什么?
Java中的LinkedList
類包含通常在典型鏈接列表中通常不會執行的操作。 一種情況是能夠在LinkedList
對象上調用size()
。 這是因為該類繼承自AbstractCollection
接口。 因此,您可以執行以下操作以找到最大的列表:
int largest = -1;
LinkedList<String> largestLinkedList = null;
for (LinkedList<String> ll : listOfLinkedLists) {
if (ll.size() > largest) {
largestLinkedList = ll;
largest = ll.size();
}
}
要計算它:
int maxSize = listOfLists.stream().map(Collection::size).max(Integer::compare).orElse(0);
(或獲取列表本身)
List<String> max = listOfLists.stream().max((l1, l2) -> Integer.compare(l1.size(), l2.size())).orElse(null);
如果需要,您可以存儲此結果,並在添加/刪除列表時簡單地對其進行更新。 請記住,如果列表是可變的,則這會更加脆弱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.