集合类

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



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值