Set集合之hashCode()和equals()
Posted 简简单单zjl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Set集合之hashCode()和equals()相关的知识,希望对你有一定的参考价值。
package com.day15.Set;
/*
* set集合中的元素不能重复(唯一性),也没索引,存取无序
*/
import java.util.HashSet;
import com.day15.bean.Person;
public class HashSet_One {
public static void main(String[] args) {
/*HashSet<String> hs=new HashSet<>();
hs.add("a");
hs.add("a");
hs.add("b");
hs.add("c");
hs.add("d");
System.out.println(hs);//[a, b, c, d]
for(String str:hs) {
System.out.print(str);//abcd
}*/
HashSet<Person> hs1=new HashSet<>();
hs1.add(new Person("Kobe",20));//Person类中必须要重写hashCode()和equals()方法
hs1.add(new Person("Kobe",20));
hs1.add(new Person("KG",21));
hs1.add(new Person("KG",21));
hs1.add(new Person("KG",21));
hs1.add(new Person("PP",22));
for(Person p:hs1) {
System.out.print(p);//Kobe,20KG,21PP,22
}
}
}
以上是关于Set集合之hashCode()和equals()的主要内容,如果未能解决你的问题,请参考以下文章
Java之hashCode的作用和equals方法的重构规则
Java Set集合通过重写hashCode和equals实现去重