第一篇:Java——HashSet 的简单了解与使用

Set的特点:不包含重复元素

HashSet如何保证元素唯一性的:通过重写hashcode();与equals();方法

HashSet底层数据结构:哈希表,数组+链表(JDK1.8之后引入红黑树,即底层数据结构为数组+链表+红黑树:当链长达到8之后,转为红黑树存储)

-------------------------------------------------------------------------------------------

例1:创建一个HashSet存入数据并遍历集合:

    public static void main(String[] args) {
   	 	//新建一个HashSet集合,泛型为String类型
        HashSet<String> hs = new HashSet<>();
        //向集合中添加元素
        hs.add("a");
        hs.add("b");
        hs.add("c");
        hs.add("d");
        hs.add("e");
        hs.add("f");
        //利用for循环遍历集合
        for (String h : hs) {
            System.out.println(h);
        }
    }
输出:
a
b
c
d
e
f

例2:存储自定义对象到Hash集合中

——新建Student类
public class Student {
    //创建私有的name与age
    private String name;
    private int age;
    
    //提供空参构造、有参构造
    public Student() {
    }
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
	//	提供set/get方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
	//重写toString方法
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
——新建主类Test
public class Test {
    public static void main(String[] args) {
    	//新建HashSet集合,传入Student类型
        HashSet<Student> set = new HashSet<>();
        //向集合中添加元素
        set.add(new Student("张三",20));
        set.add(new Student("李四", 29));
        set.add(new Student("王五", 80));
        set.add(new Student("赵六", 26));
        //遍历集合
        for (Student student : set) {
            System.out.println(student);
        }
    }
}
输出:
Student{name='李四', age=29}
Student{name='赵六', age=26}
Student{name='张三', age=20}
Student{name='王五', age=80}

猜你喜欢

转载自blog.csdn.net/qq_43411550/article/details/86524710