containsAtLeast method

bool containsAtLeast(
  1. int count,
  2. List<T> values
)

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
}