Initial commit for 6.1
parent
cca07f0bd6
commit
53a4e4c0ed
@ -0,0 +1,41 @@
|
||||
package _6._1;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class HashMapMultiSet<T> implements MultiSet<T> {
|
||||
private HashMap<T,Integer> map = new HashMap<>();
|
||||
|
||||
public Iterator<T> 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<T> {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return map.keySet().iterator().hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public T next() {
|
||||
return map.keySet().iterator().next();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -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<T> extends Iterable<T>{
|
||||
void add(T element);
|
||||
|
||||
int count(T element);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue