一个老乡的作业
写一个集合类,实现整数集合的交集和并集运算,+表示求并集,*表示求交集思路很简单
这个类有个arraylist型的私有成员比如data,用来保存集合的数据
有一个add方法,用来向data中添加数据,然后重载一下+和*操作符,
将a+b的结果保存在a中
求并集就是循环比较将a集合中没有的数据加入a集合的data,求交集就是将a集合中有的数据删除出data谢谢好心兄弟,在线等
写一个集合类,实现整数集合的交集和并集运算,+表示求并集,*表示求交集思路很简单
这个类有个arraylist型的私有成员比如data,用来保存集合的数据
有一个add方法,用来向data中添加数据,然后重载一下+和*操作符,
将a+b的结果保存在a中
求并集就是循环比较将a集合中没有的数据加入a集合的data,求交集就是将a集合中有的数据删除出data谢谢好心兄弟,在线等
再说,写程序又不要开发环境,记事本足以。当然,编译另说。
那位兄弟写个代码吧,谢谢了
/******************************/
/*java是没有操作符重载的
/*交集:and()
/*并集:or()
/*****************************/
import java.util.Vector;
class UseVector
{
Vector data=null;
public UseVector()
{
data=new Vector();
}
public int indexOf(Object elem)
{
return data.indexOf(elem);
}
public int get(int index)
{
return ((Integer)(data.get(index))).intValue();
}
public void add(int e)
{
data.add(new Integer(e));
}
public int size()
{
return data.size();
}
public UseVector and(UseVector uv)
{
int minSize=(this.size()<uv.size()?this.size():uv.size());
UseVector temp=new UseVector();
for(int i=0;i<minSize;i++)
{
if(this.indexOf(new Integer(uv.get(i)))==-1)
{
temp.add(this.get(i));
}
}
return temp;
}
public UseVector or(UseVector uv)
{
UseVector temp=new UseVector();
for (int i=0;i<this.size();i++ )
{
temp.add(this.get(i));
}
for(int i=0;i<uv.size();i++)
{
if(temp.indexOf(new Integer(uv.get(i)))==-1)
{
temp.add(uv.get(i));
}
}
return temp;
}
public void print()
{
for (int i=0;i<data.size() ;i++ )
{
System.out.print(this.get(i)+" ");
System.out.println();
}
}
public static void main(String[] args)
{
UseVector a=new UseVector();
UseVector b=new UseVector();
for(int i=0;i<10;i++)
{
a.add(i);
b.add(i+5);
}
UseVector c=a.and(b);
c.print();
UseVector d=a.or(b);
d.print();
}
}
自己自足,自己动手风衣足食!
if(this.indexOf(new Integer(uv.get(i)))!=-1)
{
temp.add(this.get(i));
}
才加入吧
谢谢兄弟了,结贴