Sie sind auf Seite 1von 7

//Union

List<Integer> c = new ArrayList<Integer>(a.size() + b.size());

addNoDups(c,a);

addNoDups(c,b);

private void addNoDups(List<Integer> toAddTo,List<Integer> iterateOver) {

for(Integer num:iterateOver){

if(toAddTo.indexOf(num) == -1) {

toAddTo.add(num);

//intersection

List<Integer> c = new ArrayList<Integer> (a.size() > b.size() ?a.size():b.size());

c.addAll(a);

c.retainAll(b);

//difference a-b

List<Integer> c = new ArrayList<Integer> (a.size());

c.addAll(a);

c.removeAll(b);
Set<Integer> a = new TreeSet<Integer>(Arrays.asList(new Integer[]{0,2,4,5,6,8,10}));

Set<Integer> b = new TreeSet<Integer>(Arrays.asList(new Integer[]{5,6,7,8,9,10}));

//union

Set<Integer> c = new TreeSet<Integer>(a);

c.addAll(b);

System.out.println(c);

//intersection

Set<Integer> d = new TreeSet<Integer>(a);

d.retainAll(b);

System.out.println(d);

//difference

Set<Integer> e = new TreeSet<Integer>(a);

e.removeAll(b);

System.out.println(e);

//reverse

List<Integer> list = new ArrayList<Integer>(a);

java.util.Collections.reverse(list);

System.out.println(list);
ause we havent learned them yet.. :(

I have it completed, but the difference and equal methods are not working properly

This is my code so far...

class IntegerSet{

private int [] a = new int [100];

public IntegerSet(){

a = new int[100];

public void insert(int b){

a[b] = 1;

public void delete(int c){

a[c] = 0;

public String toString(){

StringBuffer sb = new StringBuffer();


for(int i = 0; i < a.length; i++)

if(a[i] == 1)

sb.append(i + " ");

return sb.toString();

public IntegerSet union (IntegerSet d){

IntegerSet s = new IntegerSet();

for(int i = 0; i < a.length; i++)

if(a[i] == 1|| d.a[i] == 1)

s.insert(i);

return s;

public IntegerSet intersection(IntegerSet t){

IntegerSet s = new IntegerSet();

for(int i = 0; i < a.length; i++){

if(a[i] == 1 && t.a[i] == 1)

s.insert(i);
}

return s;

public IntegerSet difference(IntegerSet p){

IntegerSet s = new IntegerSet();

for(int i = 0; i < a.length; i++){

if(a[i] == 1 && p.a[i] == 0)

s.insert(i);

return s;

public boolean equals(IntegerSet l){

boolean b = false;

for(int i = 0; i < a.length; i++)

if(a[i] == l.a[i]) {

b = true; }

return b;
}

class Assignment1{

public static void main(String [] args){

IntegerSet n1 = new IntegerSet();

n1.insert(7);

n1.insert(8);

n1.insert(3);

n1.insert(1);

n1.insert(4);

System.out.println("Integer Set: " +n1);

IntegerSet n2 = new IntegerSet();

n2.insert(3);

n2.insert(8);

n2.insert(2);

n2.insert(5);

n2.insert(9);

System.out.println("Integer Set: " + n2);


n1.delete(7);

n2.delete(2);

System.out.println("Integer Set: " + n1);

System.out.println("Integer Set: " +n2);

IntegerSet u = n1.union(n2);

System.out.println("Union: " + u);

IntegerSet i = n1.intersection(n2);

System.out.println("Intersection: " + i);

IntegerSet d = n1.difference(n2);

System.out.println("Difference: " + d);

if (n1.equals(n2));

System.out.println(n1 + "is equal to " + n2);

Das könnte Ihnen auch gefallen