1.有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B的交集、并集和差集。
具体运用HashSet来实现即可。
代码实现:
package cn.edu.nefu.zhihu;
import java.util.HashSet;
import java.util.Iterator;
public class Fanxing {
public static void main(String[] args) {
Integer one=new Integer(1);
Integer two=new Integer(2);
Integer three=new Integer(3);
Integer four=new Integer(4);
Integer seven=new Integer(7);
Integer nine=new Integer(9);
Integer eleven=new Integer(11);
HashSet<Integer> A=new HashSet<Integer>();
HashSet<Integer> B=new HashSet<Integer>();
HashSet<Integer> tempSetA1=new HashSet<Integer>();
HashSet<Integer> tempSetA2=new HashSet<Integer>();
HashSet<Integer> tempSetA3=new HashSet<Integer>();
A.add(one);
A.add(two);
A.add(three);
A.add(four);
B.add(one);
B.add(three);
B.add(seven);
B.add(nine);
B.add(eleven);
tempSetA1=(HashSet<Integer>)A.clone();
tempSetA2=(HashSet<Integer>)A.clone();
tempSetA3=(HashSet<Integer>)A.clone();
tempSetA1.retainAll(B);
Iterator<Integer> it1=tempSetA1.iterator();
int num1=tempSetA1.size();
System.out.println("集合A和集合B的交集元素个数为:"+num1);
System.out.println("集合A和集合B的交集为:");
while(it1.hasNext()){
Integer ite1=it1.next();
System.out.print(ite1.intValue()+" ");
}System.out.println();
tempSetA2.addAll(B);
Iterator<Integer> it2=tempSetA2.iterator();
int num2=tempSetA2.size();
System.out.println("集合A和集合B的并集元素个数为:"+num2);
System.out.println("集合A和集合B的并集为:");
while(it2.hasNext()){
Integer ite2=it2.next();
System.out.print(ite2.intValue()+" ");
}System.out.println();
tempSetA3.removeAll(B);
Iterator<Integer> it3=tempSetA3.iterator();
int num3=tempSetA3.size();
System.out.println("集合A和集合B的差集元素个数为:"+num3);
System.out.println("集合A和集合B的差集为:");
while(it3.hasNext()){
Integer ite3=it3.next();
System.out.print(ite3.intValue()+" ");
}System.out.println();
}
}
2.有十个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用TreeMap<K,V>类,分别按照价格和容量排序输出十个硬盘的详细信息。
代码实现:
package cn.edu.nefu.zhihu;
import java.util.Collection;
import java.util.Iterator;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) {
YingPan yp1=new YingPan("周白菜",1,10);
YingPan yp2=new YingPan("桃花彤",2,9);
YingPan yp3=new YingPan("香橙武",3,8);
YingPan yp4=new YingPan("苹果杰",4,7);
YingPan yp5=new YingPan("梨子壕",5,6);
YingPan yp6=new YingPan("香蕉睿",6,5);
YingPan yp7=new YingPan("葡萄天",7,4);
YingPan yp8=new YingPan("腊鸡毅",8,3);
YingPan yp9=new YingPan("芒果军",9,2);
YingPan yp10=new YingPan("柠檬兽",10,1);
TreeMap<MyKey,YingPan> treemap=new TreeMap<MyKey,YingPan>();
treemap.put(new MyKey(yp1.price),yp1);
treemap.put(new MyKey(yp2.price),yp2);
treemap.put(new MyKey(yp3.price),yp3);
treemap.put(new MyKey(yp4.price),yp4);
treemap.put(new MyKey(yp5.price),yp5);
treemap.put(new MyKey(yp6.price),yp6);
treemap.put(new MyKey(yp7.price),yp7);
treemap.put(new MyKey(yp8.price),yp8);
treemap.put(new MyKey(yp9.price),yp9);
treemap.put(new MyKey(yp10.price),yp10);
int num=treemap.size();
System.out.println("树映射中有"+num+"个对象:");
Collection<YingPan> collection=treemap.values();
Iterator<YingPan> it=collection.iterator();
while(it.hasNext()){
YingPan ite=it.next();
System.out.println("硬盘名:"+ite.name+" 硬盘价格:"+ite.price+" 硬盘容量:"+ite.rong);
}
treemap.clear();
treemap.put(new MyKey(yp1.rong),yp1);
treemap.put(new MyKey(yp2.rong),yp2);
treemap.put(new MyKey(yp3.rong),yp3);
treemap.put(new MyKey(yp4.rong),yp4);
treemap.put(new MyKey(yp5.rong),yp5);
treemap.put(new MyKey(yp6.rong),yp6);
treemap.put(new MyKey(yp7.rong),yp7);
treemap.put(new MyKey(yp8.rong),yp8);
treemap.put(new MyKey(yp9.rong),yp9);
treemap.put(new MyKey(yp10.rong),yp10);
int num1=treemap.size();
System.out.println("树映射中有"+num1+"个对象:");
Collection<YingPan> collection1=treemap.values();
Iterator<YingPan> it1=collection.iterator();
while(it1.hasNext()){
YingPan ite=it1.next();
System.out.println("硬盘名:"+ite.name+" 硬盘价格:"+ite.price+" 硬盘容量:"+ite.rong);
}
treemap.clear();
}
}