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(); } }