簡體   English   中英

在LinkedList的LinkedList中獲得最長的LinkedList的最快方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM