Merge remote-tracking branch 'origin/master'

generic-observer
Selebrator 7 years ago
commit dca52ea373

@ -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);
}

@ -0,0 +1,4 @@
A Menge alles Großbuchstaben
REGENWETTER
Menge: {R,R,E,E,E,G,N,W,T,T} oder {R,E,G,N,W,T}
Multimenge: {(R,2), (E,3), (G,1), (N,1), (W,1), (T,2)}

@ -0,0 +1,17 @@
try {
// ...
} catch (GenericException <Integer > e) {
// ...
} catch (GenericException <Double > e) {
// ...
}
Das funktioniert nicht zur Laufzeit, da Aufgrund von Type Erasure
wir zwei gleiche catch hätten.
try {
throw new GenericException <Number >();
} catch (GenericException <Integer > e) {
// ...
}
Auch hier funktioniert das nicht zur Laufzeit aufgrund von Tyüpe Erasure.
Loading…
Cancel
Save