我希望能夠比較兩個或更多像列表'<'整數'>'l1,列表l2,列表l3 ...,但如何比較它們?如何比較兩個或更多List(Integer)是否相等?
在我看來,首先Collections.sort(列表),然後l1.euqals(l2),等等......但是它似乎不是有效的方式,它的成本約O(n^2),和沒有兩個列表,它可能是三個或四個或更多...
而Anthoer方式使用額外的足夠的最大數組A一個初始化零,第一個A [l1.get(i)]填充一個數字不是-Zero,則A [l2.get(i)]填充零,最後,如果Array A仍然滿零,則兩個列表相等。它的成本O(N),但麻煩的事情不僅是兩個清單...
是否有任何快速和有效的方式,只有成本較少的時間? 我希望我能表達清楚。希望回答!
在Java中設置#equals()不考慮元素的順序,因此不需要排序。 –
@JordiCastilla這個問題是關於n> 2套,這是不同於你發佈的鏈接中的問題(比較**兩套**)。 – laune
@JordiCastilla,@ laune yeah和\t我需要比較列表而不是集合。 –
xiaocainiao