set集合最经典的编程题型

1、定义一个Teacher类 name 和 age两属性
2、循环创建n(假设为5)个Teacher对象,(
name teacher1 age 10
name teacher2 age 20
name teacher3 age 30
name teacher4 age 40
name teacher5 age 50

3、分别添加到set容器对象中
4、把set容器对象删除一个与传入内容匹配的对象(name teacher3 age 30)
提示!删除的时候,根据对象内容相同认为是相同对象,怎么判断对象内容相同?重写object某方法!

5、两种方式遍历set对象


import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class Test1 {
	public static void main(String[] args) {
		Set<Teacher> set=new HashSet<Teacher>();
		for(int i=1;i<=5;i++){
			Teacher t=new Teacher("teacher"+i,10*i);
			set.add(t);
		}
		Teacher t1=new Teacher("teacher3",30);
		set.remove(t1);
		System.out.println(t1);
		for(Teacher temp:set){
			System.out.println(temp);
		}
		System.out.println("------------");
		for(Iterator<Teacher> iter=set.iterator();iter.hasNext();){
			Teacher temp=iter.next();
			System.out.println(temp);
		}
	}
}
class Teacher{
	String name;
	int age;
	public Teacher(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	@Override
	public String toString() {
		return "\nTeacher [name=" + name + ", age=" + age + "]";
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Teacher other = (Teacher) obj;
		if (age != other.age)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
	
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值