练习专区

今天的一小步就是明天的一大步
Problem 1845 集合类--使用Object
Accepted: 5   Total Submit: 31
Time Limit: 1000ms   Memory Limit: 30720KB
Description
运行下列的程序 import java.util.TreeSet; publicclass Main { publicstaticvoid main(String[] args) { // TODO Auto-generated method stub Object[] a={"hh","nn"}; Object[] b={"mm","nn","iii"}; SSet s = new SSet(a); SSet s1 = new SSet(b); System.out.println(s.sum(s1).toString()); } } class SSet{ Object[] a=null; public SSet(Object[] ss) { super(); // TODO Auto-generated constructor stub this.a = ss; } public SSet sum(SSet s){ TreeSet <Object> set = new TreeSet<Object>(); for(int i=0;i<a.length;i++){ set.add(this.a[i]); } for(int i=0;i<s.a.length;i++){ set.add(s.a[i]); } Object[] ss= set.toArray(); returnnew SSet(ss); } @Override public String toString() { String str = "{"; for(int i=0;i<a.length-1;i++){ str += a[i].toString()+" "; } str = str+a[a.length-1]+"}" ; return str; } } 完成写一个集合类,元素是一个表示集合的对象数组,方法是集合中插入一个元素、删除一个元素、两个集合求并、求交、求差集、求集合的元素的个数。
Input
有多个案例,首字母ch为I表示整数,为S表示字符串,然后输入正整数m,m表示第一个集合A的元素个数,接着输入A集合的m个元素;再接着输入操作数k,再再接着有k个操作 添加元素:A a,//无输出操作 删除元素:D d,//无输出操作 显示集合:Q,用toString方法实现//输出形如:现在集合是:{one,three,four,five,this},有5个元素。 求并:U m x1 x2 …… xm 求差集:R m x1 x2 …… xm
Output
按样例输出。
Sample Input
S 4  one two three four
8
A five
A this
D two
Q
U 3 two three world
Q
R 2 ten three
Q

I 5 1 2 3 4 5
4
D 5
D 1
A 8
Q
Case 1:
现在集合是:{one,three,four,five,this},有5个元素。
现在集合是:{One,four,five,this,},有7个元素。
现在集合是:{One,four,five,this},有4个元素。
Case 2:
现在集合是:{2,3,4,8},有4个元素。
Sample Output
Case 1:
现在集合是:{five four one this three},有5个元素。
Case 1:
现在集合是:{five,four,one,this,three},有5个元素。
现在集合是:{five,four,one,this,three,two,world},有7个元素。
现在集合是:{five,four,one,this,two,world},有6个元素。
Case 2:
现在集合是:{2,3,4,8},有4个元素。
Hint
提交     返回