From 53a4e4c0ed4e26891ddf2c9fcc63c804b8543827 Mon Sep 17 00:00:00 2001 From: Lisa Date: Thu, 16 May 2019 17:21:21 +0200 Subject: [PATCH] Initial commit for 6.1 --- src/main/java/_6/_1/HashMapMultiSet.java | 41 ++++++++++++++++++++++++ src/main/java/_6/_1/MultiSet.java | 14 ++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/main/java/_6/_1/HashMapMultiSet.java create mode 100644 src/main/java/_6/_1/MultiSet.java diff --git a/src/main/java/_6/_1/HashMapMultiSet.java b/src/main/java/_6/_1/HashMapMultiSet.java new file mode 100644 index 0000000..66e0377 --- /dev/null +++ b/src/main/java/_6/_1/HashMapMultiSet.java @@ -0,0 +1,41 @@ +package _6._1; + +import java.util.HashMap; +import java.util.Iterator; + +public class HashMapMultiSet implements MultiSet { + private HashMap map = new HashMap<>(); + + public Iterator iterator() { + return new HashMapMultiSetIterator(); + } + + public void add(T element) { + if (map.containsKey(element)) { + map.put(element,map.get(element)+1); + } else { + map.put(element,1); + } + } + + public int count(T element) { + if (map.containsKey(element)) { + return map.get(element); + } + return 0; + } + + class HashMapMultiSetIterator implements Iterator { + @Override + public boolean hasNext() { + return map.keySet().iterator().hasNext(); + } + + @Override + public T next() { + return map.keySet().iterator().next(); + } + + } + +} diff --git a/src/main/java/_6/_1/MultiSet.java b/src/main/java/_6/_1/MultiSet.java new file mode 100644 index 0000000..d97e891 --- /dev/null +++ b/src/main/java/_6/_1/MultiSet.java @@ -0,0 +1,14 @@ +package _6._1; + +/* a) REGENWETTER +* Menge: {R,E,G,N,W,T} +* Multimenge: {(R,2),(E,4),(G,1),(N,1),(W,1),(T,2)} +*/ + +public interface MultiSet extends Iterable{ + void add(T element); + + int count(T element); +} + +