比较两个字符串列表并检查它们是否至少有一个相同的字符串

lam*_*tat 7 dart flutter

我正在尝试将两个字符串列表相互比较并检查是否至少有一个完全相同的字符串..

例如:

List<String> list1 = ['1','2','3','4'];

List<String> list2 = ['1','5','6','7'];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我将执行操作,因为两者具有相同的字符串,即1,并且它可能不止一个完全相同的字符串并且操作将相同。

但如果他们没有任何类似的字符串,那么我会做另一个动作。

我怎么能做这样的事情?

Alb*_*221 17

您可以使用any()contains()方法来做到这一点:

if (list1.any((item) => list2.contains(item))) {
    // Lists have at least one common element
} else {
    // Lists DON'T have any common element
}
Run Code Online (Sandbox Code Playgroud)


Gün*_*uer 7

Set有一个intersection这样做的:

list1.toSet().intersection(list2.toSet()).length > 0
Run Code Online (Sandbox Code Playgroud)

  • 除了将两者都转换为集合之外,您还可以只执行 `list1.any(list2.toSet().contains)`。 (2认同)