-
Notifications
You must be signed in to change notification settings - Fork 0
/
IntegerSet.java
130 lines (113 loc) · 2.85 KB
/
IntegerSet.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* Samuele Lo Cascio
* ESERCITAZIONE 6
* es2-es3
*/
package prg.es2_3;
import java.util.ArrayList;
public class IntegerSet{
/*private boolean[] set;
//COSTRUTTORI:
public IntegerSet(){
set = new boolean[100];
}
//METODI:
public IntegerSet insertElement(int n){
set[n] = true;
return this;
}
public IntegerSet deleteElement(int n){
set[n] = false;
return this;
}
public IntegerSet unionOfIntegerSet(IntegerSet intSet){
IntegerSet union = new IntegerSet();
for(int i = 0; i < 100; i++){
union.set[i] = this.set[i] || intSet.set[i];
}
return union;
}
public IntegerSet intersectionOfIntegerSet(IntegerSet intSet){
IntegerSet intersection = new IntegerSet();
for(int i = 0; i <100; i++){
intersection.set[i] = this.set[i] && intSet.set[i];
}
return intersection;
}
public String toString(){
String stringSet = "{ ";
boolean check = false;
for(int i = 0; i < 100; i++){
if (this.set[i]==true) {
stringSet += i + " ";
check = true;
}
}
stringSet += "}";
if (check == false) {
stringSet = " - ";
}
return stringSet;
}
public IntegerSet toPrint(){
System.out.println(this.toString());
return this;
}*/
private ArrayList<Integer> set = new ArrayList<>();
public IntegerSet insertElement(int element){
if(element >= 100 || element < 0){
throw new IllegalArgumentException("Elemento non valido");
}
if(!checkElement(element)){ //verifica se l'elemento è già presente
this.set.add(Integer.valueOf(element));
} else {
throw new IllegalArgumentException("Elemento gia' presente");
}
return this;
}
public IntegerSet deleteElement(int element){
this.set.remove(Integer.valueOf(element));
return this;
}
public boolean checkElement(int element){
for (Integer tmp : this.set) {
if(tmp.intValue() == element){
return true;
}
}
return false;
}
public IntegerSet unionOfIntegerSet(IntegerSet otherSet){
IntegerSet union = new IntegerSet();
for(Integer n : this.set){
union.insertElement(n);
}
for(Integer m : otherSet.set){
union.insertElement(m); //nota: se l'elemento è già presente la funzione insertElement non lo inserisce (vedi insertElement r.63)
}
return union;
}
public IntegerSet intersectionOfIntegerSet(IntegerSet otherSet){
IntegerSet intersection = new IntegerSet();
for (Integer n : this.set) {
if(otherSet.checkElement(n)){
intersection.insertElement(n);
}
}
return intersection;
}
public String toString(){
if(this.set.size() == 0){
return " - ";
}
String stringSet = "{ ";
for (Integer tmp : this.set) {
stringSet += tmp.intValue() + " ";
}
stringSet += "}";
return stringSet;
}
public IntegerSet toPrint(){
System.out.println(this.toString());
return this;
}
}