文章标题

来源:互联网 发布:如何设置网络共享权限 编辑:程序博客网 时间:2024/06/11 04:38

java 集合
集合中的Set
底层使用数组加链表实现
有点添加速度快,查询速度快,删除速度快,没有顺序
从写equals方法通常需要重写hashCode方法
因为hashCode值一样在比equals
写一个学生类
package com.sxt.hash;

public class Student {
private String name ;
private int age;

public Student(String name,int age) {

this.name = name;this.age=age;

}
@Override
public String toString() {
// TODO Auto-generated method stub
return “名字:”+name+” 年龄:”+age;
}
@Override
public boolean equals(Object obj) {

   return this.toString().equals(obj.toString());}

@Override
public int hashCode() {

   return toString().hashCode();}

}
在写测试类
package com.sxt.hash;

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

public class Text2 {
public static void main(String[] args) {

Set set = new HashSet<>();set.add(new Student("张三",18));set.add(new Student("李四",20));set.add(new Student("张三",18));set.add(new Student("李四",21));Iterator iterator = set.iterator();while(iterator.hasNext()){    System.out.println(iterator.next());}}

}
输出结果
名字:李四 年龄:21
名字:张三 年龄:18
名字:李四 年龄:20

原创粉丝点击