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;
}
}
java eclipse
add a comment |
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;
}
}
java eclipse
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
add a comment |
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;
}
}
java eclipse
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
java eclipse
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
add a comment |
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
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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