From 5c9f343b45ef663dbf3abc75599fcaa6dd9dc8f8 Mon Sep 17 00:00:00 2001 From: Lisa Date: Sat, 18 May 2019 23:55:19 +0200 Subject: [PATCH] correction iterator (6.1) --- src/main/java/_6/_1/HashMapMultiSet.java | 30 ++++++------------------ 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/src/main/java/_6/_1/HashMapMultiSet.java b/src/main/java/_6/_1/HashMapMultiSet.java index 66e0377..6d6caad 100644 --- a/src/main/java/_6/_1/HashMapMultiSet.java +++ b/src/main/java/_6/_1/HashMapMultiSet.java @@ -1,41 +1,25 @@ package _6._1; -import java.util.HashMap; -import java.util.Iterator; +import java.util.*; public class HashMapMultiSet implements MultiSet { - private HashMap map = new HashMap<>(); + private Map map = new HashMap<>(); + @Override public Iterator iterator() { - return new HashMapMultiSetIterator(); + return map.keySet().iterator(); } + @Override public void add(T element) { - if (map.containsKey(element)) { - map.put(element,map.get(element)+1); - } else { - map.put(element,1); - } + map.put(element,count(element)+1); } + @Override 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(); - } - - } - }