练习专区
今天的一小步就是明天的一大步
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
Sample Output
Hint