lamatat
lamatat

Reputation: 513

comparing two string lists and check if they have at least one same string

I'm trying to compare two String list with each other and check if at least the have one exact same string or not ..

For example:

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

List<String> list2 = ['1','5','6','7'];

In this case I will do action cause both have same string which is 1, and it could be more than one exact same string and the action will be the same.

But if they don't have any similar strings then I will do another action.

How can I do something like this?

Upvotes: 8

Views: 12609

Answers (3)

iDecode
iDecode

Reputation: 28926

A shorter version:

bool hasCommonElement = list1.any(list2.contains);

Upvotes: 0

Albert221
Albert221

Reputation: 7082

You can do it with any() and contains() method:

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

Upvotes: 20

G&#252;nter Z&#246;chbauer
G&#252;nter Z&#246;chbauer

Reputation: 657536

Set has an intersection that does that:

list1.toSet().intersection(list2.toSet()).length > 0

Upvotes: 9

Related Questions