реализовать Multiset с использованием HashSet - PullRequest
0 голосов
/ 21 ноября 2018

Привет, я должен реализовать мультимножество.Я использовал хэш-набор, и внутри своего класса я создал внутренний класс объектов с переменными экземпляра одного типа E общего и одного типа int для подсчета вхождений.У меня есть метод add, который должен добавить объект в мультимножестве.Практически, вызывая внутренний конструктор класса каждый раз, когда он перезаписывает объект.Он не кладет больше одного в мой контейнер.Как это возможно? введите описание изображения здесь

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;
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...