嗨,我必须实现一个多集。我使用了哈希集,并在类内部创建了一个对象内部类,其中,一个实例类型为E泛型,另一个类型为int作为实例变量来计算出现次数。我有一个add方法,需要在多集合内添加一个对象。实际上,每当内部类构造函数覆盖对象时,就调用它。他没有在我的容器中放多个。怎么可能?enter image description here
public int add(E element, int occurrences) {
// TODO Implementare
int b=0;
if (element==null) throw new NullPointerException();
if (occurrences<0 || occurrences ==Integer.MAX_VALUE) throw new IllegalArgumentException("");
boolean g=false;
for (Element x: contenitore) {
if (x.getElement().equals(element)) {
x.setOccorrenze(occurrences);
b=x.getOccorrenze()-occurrences;
}}
this.contenitore.add(new Element(element,occurrences));
b=0;
return b;
}
public class MyMultiset<E> implements Multiset<E> {
// TODO Inserire le variabili istanza che servono
private Set<Element> contenitore;
// TODO Inserire eventuali classi interne per gli elementi del multinsieme e
// per l'iteratore.
类元素{
private E valore;
private int occorrenze;
public Element( E valore, int occorrenze) {
this.valore=valore;
enter code here
this.occorrenze=occorrenze;
}
public E getElement() {
return valore;
}
public int getOccorrenze() {
return occorrenze;
enter code here
}
public void setOccorrenze(int v) {
occorrenze+=v;
}
}