创建一个Person的类,类中包含id, name, sex等其它的一些属性。并重写Person类equals()和hashCode()两个方法,要求通过id来判断对象是否相等。

Java创建对象并使用接口方法实现操作

(1) 创建一个Person的类,类中包含id, name, sex等其它的一些属性。并重写Person类equals()和hashCode()两个方法,要求通过id来判断对象是否相等。
(2) 编写用户程序TestSet使用Set接口来保存Person对象,并将Set中的对象使用迭代器迭代出来。并利用下列方法从集合中删除编号为5的Person对象:
a) 利用集合的remove(o):此方法要求用传入要删除的对象,只要利用相等的概念,然后作为remove方法的参数即可。
b) 利用迭代器的remove():在迭代的过程中,判断迭代器当前的对象的编号是否为5,是就调用迭代器的remove()方法删除,然后跳出迭代器的循环。

Person类:
package 考试;

public class Person {
public int id;
public String name;
public String sex;

public Person(int id,String name,String sex) {
	this.id = id;
	this.name = name;
	this.sex = sex;
}
@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + id;
	return result;
}
@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Person other = (Person) obj;
	if (id != other.id)
		return false;
	return true;
}	

}

Testset类

package 考试;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class TestSet {
public static void main(String[] args) {
Set set = new HashSet();
Person s1 = new Person(1,“张三”,“男”);
Person s2 = new Person(2,“张五”,“女”);
Person s3 = new Person(3,“张六”,“男”);
Person s4 = new Person(4,“张器”,“女”);
Person s5 = new Person(5,“张八”,“男”);
set.add(s1);
set.add(s2);
set.add(s3);
set.add(s4);
set.add(s5);
Iterator iter1 = set.iterator();
while (iter1.hasNext()) {
System.out.println(iter1.next());
}
// set.remove(s5);
// for(Iterator it=set.iterator();it.hasNext()😉{
// Person b=(Person)it.next(); //在做判断之后迭代器已经更新了,因此删除的是迭代器左边的元素。
// if(b.id==5)
// it.remove();
// }
System.out.println(set.size());
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值