containsAtLeast method
Checks if a list contains at least count
values from values
.
Returns true
if this
has at least count
values that also exist in values
,
otherwise returns false
.
Example usage:
final list1 = [1, 2, 3, 4, 5];
final list2 = [3, 5, 6, 7, 8];
final count = 2; // Specify the minimum count
final result = list1.containsAtLeast(count,list2);
print(result ? 'List 1 has at least $count values from List 2.' : 'Not enough matching values.');
Implementation
bool containsAtLeast(int count, List<T> values) {
// Convert list2 to a set for efficient lookups
final set2 = values.toSet();
// Initialize a counter for matching values
int matchingCount = 0;
// Iterate through list1 and check if each value is in set2
for (final value in this) {
if (set2.contains(value)) {
matchingCount++;
if (matchingCount >= count) {
return true; // Found enough matching values
}
}
}
return false; // Not enough matching values
}