定义一个整型集合类integerSet 这种类型的对象可以存储10个20-80之间的整数 即它的内部有一个整型数组存储数据。 编程:
(1)判断两个interSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等
(2)输出两个集合对象的交集
(3)输出两个集合对象的并集
(4)将一个整型数据插入到一个集合对象中
(5)从一个集合中删除某一个元素
(1)判断两个interSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等
(2)输出两个集合对象的交集
(3)输出两个集合对象的并集
(4)将一个整型数据插入到一个集合对象中
(5)从一个集合中删除某一个元素
如果你还不能做,请继续学习,如果你有能力做,请自己写出基本思路,真正的难点来问别人.
让别人为你提供一个完整的答案,你为什么要学JAVA呢?
import java.util.ArrayList;
import java.util.List;public class Test { public static void main(String[] args) {
IntegerSet a1= new IntegerSet();
IntegerSet a2= new IntegerSet();
a1.add(20);
a2.add(20);
System.out.println(a1.equals(a2));
}}class IntegerSet{
private List<Integer> list = null;
public IntegerSet(){
list = new ArrayList<Integer>();
}
public void add(int i){
if(i<20 && i>80){
System.out.println(i+ " 不在20~80的范围内!");
return;
}
this.getList().add(i);
}
public List<Integer> getList() {
return list;
} public void setList(List<Integer> list) {
this.list = list;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final IntegerSet other = (IntegerSet) obj;
if (list == null) {
if (other.list != null)
return false;
}
if(list != null && other.list!=null && list.size()==other.list.size() ){
if(list.size()==0){
return true;
}
for(int i=0;i<list.size();i++){
if(list.get(i)==other.list.get(i)){
continue;
}else {
return false;
}
}
return true;
}
return false;
}
}
/**
* 算了,哥哥我教教你
*/
public class IntegerSet { private ArrayList<Integer> list = new ArrayList<Integer>(); private static final int CAPACITY = 10; // 最大容量 /**
* 测试 IntegerSet
*
* @param args ...
*/
public static void main(String[] args) {
IntegerSet is1 = new IntegerSet();
IntegerSet is2 = new IntegerSet(); System.out.println("equals: " + is1.equals(is2)); // true is1.add(30);
System.out.println("equals: " + is1.equals(is2)); // false is2.add(30);
System.out.println("equals: " + is1.equals(is2)); // true is1.add(40);
System.out.println("intersection: " + is1.intersectionOf(is2)); // [30]
System.out.println("union: " + is1.unionOf(is2)); // [30, 40] is1.delete(30);
System.out.println("after delete: " + is1.list); // [40]
} // 交集
public ArrayList<Integer> intersectionOf(IntegerSet is) {
ArrayList<Integer> result = new ArrayList<Integer>();
for (Integer i : list) {
if (is.list.contains(i)) {
result.add(i);
}
}
return result;
} // 并集
public ArrayList<Integer> unionOf(IntegerSet is) {
ArrayList<Integer> result = new ArrayList<Integer>();
for (Integer i : list) {
result.add(i);
} for (Integer i : is.list) {
if (!result.contains(i)) {
result.add(i);
}
}
return result;
} @Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof IntegerSet)) {
return false;
} IntegerSet that = (IntegerSet) obj;
if (list.size() != that.list.size()) {
return false;
} for (int i = 0; i < list.size(); i++) {
if (!list.get(i).equals(that.list.get(i))) {
return false;
}
}
return true;
} public void add(int n) {
if (list.size() == CAPACITY || list.contains(n) || (n < 20 || n > 80)) {
return;
}
list.add(n);
} public void delete(int n) {
list.remove(new Integer(n)); // 这地方不能直接用 n,记住了
}
}
如果实在写不来可以先看看jdk里自带的实现set接口的类,比如HashSet