簡體   English   中英

Kotlin 檢查兩個列表是否相同,除了一個具有附加元素的列表?

[英]Kotlin check if two lists are the same apart from one list having an additional element?

所以我有清單A和清單B。
A 的大小為 n,B 的大小為 n + 1。
我需要知道 A 中的所有元素是否與 B.sublist(0, n - 1) 中的所有元素相同。

A: [5,7,2,9]  
B: [5,7,2,9,1]
true

A: [5,7,2,9]  
B: [5,7,2,9,9]
true

A: [7,5,2,9]  
B: [5,7,2,9,1]
false (order matters)

是否有任何優雅的方法可以使用庫函數來做到這一點?

List有一個subList方法,所以你可以直接表達你的條件:

(b.size() == a.size() + 1) && (b.subList(0, a.size()).equals(a))

非常簡單的解決方案:

return B.take(A.size+1) == A

只要b不能為空,你就可以寫:

return a == b.dropLast(1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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