定义一个整型集合类integerset,这种类型的对象可以存储10个20-80之间的整数,即它的内部有一个整型数组存储数据。编程:
1、判断两个integerset类对象是s1和s2是否相等,提示:集合相等的前提是所有元素相等;
2、输出两个集合对象的交集;
3、输出两个集合对象的并集;
4、将一个整型数据插入到一个集合对象中;
5、从一个集合中删除某一个元素。

解决方案 »

  1.   

    package csdn;import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    import java.util.Iterator;
    import java.util.Random;public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    // int a[]={};
    // for(int j=20;j<=80;j++){
    // a[j]=j;
    // }
    int a[] = new int[10];
    int b[] = new int[11];
    Collection s1 = new ArrayList();
    Collection s2 = new ArrayList();
    Collection s3 = new ArrayList();
    Random r = new Random();
    //把20--80的随机数增加到集合s1
    for (int i = 0; i < a.length; i++) { a[i] = r.nextInt(61) + 20;
    s1.add(a[i]);
    }

    //把20--80的随机数增加到集合s2
    for (int i = 0; i < b.length - 1; i++) { b[i] = r.nextInt(61) + 20;
    s2.add(b[i]);
    }

    System.out.println("s1集合:" + s1);
    System.out.println("s2集合:" + s2);

    if (s1.equals(s2)) {//比较s1、s2是否相等 System.out.println("s1==s2");
    } else {
    System.out.println("s1!=s2");
    }

    s3.addAll(s1);//把集合s1增加到集合s3中,因为s1.retainAll(s2)会把s1变成他们的交集
    s1.retainAll(s2);//交集
    System.out.println("交集:" + s1);
    s3.addAll(s2);//并集,但s3、s2相同元素会重复增加,我记得并集相同元素只要一个就行了
    System.out.println("并集:" + s3);

    for (int i = b.length-2; i < b.length; i++) { b[i] = r.nextInt(61) + 20;
    s2.add(b[i]);// 插入一个随机整数到集合s2中
    }
    System.out.println("s2 remove before:" + s2);
    s2.remove(b[b.length-1]);// 删除最后插入的元素
    System.out.println("s2 remove after:" + s2); }
    }