copy method

CountTable<K> copy({
  1. bool filter(
    1. K key,
    2. int count
    )?,
})

Implementation

CountTable<K> copy({bool Function(K key, int count)? filter}) {
  var copy = CountTable<K>();

  if (filter != null) {
    for (var e in _table.entries) {
      var key = e.key;
      var value = e.value;

      if (filter(key, value.count)) {
        copy._table[key] = value.copy();
      }
    }
  } else {
    for (var e in _table.entries) {
      copy._table[e.key] = e.value.copy();
    }
  }

  return copy;
}