implement Multiset using HashSet











up vote
0
down vote

favorite












Hi I have to implement a multiset. I have used a hashset and inside my class I have made an inner class of objects with as instance variables one of type E generic and one of type int to count the occurrences. I have an add method that needs to add an object within the multiset. Practically by invoking the internal class constructor every time it overwrites the object. He does not put more than one in my container. How is it possible?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.


class Element {



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









share|improve this question
























  • Please post all the relevant code directly in your question.
    – Eran
    2 days ago










  • Please post the code directly in the question (you can edit the question), not as a comment.
    – Eran
    2 days ago















up vote
0
down vote

favorite












Hi I have to implement a multiset. I have used a hashset and inside my class I have made an inner class of objects with as instance variables one of type E generic and one of type int to count the occurrences. I have an add method that needs to add an object within the multiset. Practically by invoking the internal class constructor every time it overwrites the object. He does not put more than one in my container. How is it possible?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.


class Element {



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









share|improve this question
























  • Please post all the relevant code directly in your question.
    – Eran
    2 days ago










  • Please post the code directly in the question (you can edit the question), not as a comment.
    – Eran
    2 days ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











Hi I have to implement a multiset. I have used a hashset and inside my class I have made an inner class of objects with as instance variables one of type E generic and one of type int to count the occurrences. I have an add method that needs to add an object within the multiset. Practically by invoking the internal class constructor every time it overwrites the object. He does not put more than one in my container. How is it possible?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.


class Element {



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









share|improve this question















Hi I have to implement a multiset. I have used a hashset and inside my class I have made an inner class of objects with as instance variables one of type E generic and one of type int to count the occurrences. I have an add method that needs to add an object within the multiset. Practically by invoking the internal class constructor every time it overwrites the object. He does not put more than one in my container. How is it possible?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.


class Element {



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






java eclipse






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago

























asked 2 days ago









Mati

11




11












  • Please post all the relevant code directly in your question.
    – Eran
    2 days ago










  • Please post the code directly in the question (you can edit the question), not as a comment.
    – Eran
    2 days ago


















  • Please post all the relevant code directly in your question.
    – Eran
    2 days ago










  • Please post the code directly in the question (you can edit the question), not as a comment.
    – Eran
    2 days ago
















Please post all the relevant code directly in your question.
– Eran
2 days ago




Please post all the relevant code directly in your question.
– Eran
2 days ago












Please post the code directly in the question (you can edit the question), not as a comment.
– Eran
2 days ago




Please post the code directly in the question (you can edit the question), not as a comment.
– Eran
2 days ago

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53410170%2fimplement-multiset-using-hashset%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53410170%2fimplement-multiset-using-hashset%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Contact image not getting when fetch all contact list from iPhone by CNContact

count number of partitions of a set with n elements into k subsets

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks