introductionToProgramming/week12/Multiset.java
Daniel Bulant 125e24b3b8 week12
2025-11-16 13:56:58 +01:00

27 lines
584 B
Java

package week12;
import java.util.HashMap;
import java.util.Map;
public class Multiset<E> {
Map<E, Integer> data = new HashMap<>();
public int count(E e) {
var entry = data.get(e);
return entry == null ? 0 : entry.intValue();
}
public void add(E e) {
data.compute(e, (key, num) -> num == null ? 1 : num+1);
}
public void remove(E e) {
var entry = data.get(e);
if(entry == null || entry <= 1) data.remove(e);
else data.put(e, entry - 1);
}
public int size() {
return data.size();
}
}