java基础之LinkedHashSet类

目录

一:LinkedHashSet类概述

二:解释

三:例子

1:集合存储字符串并遍历

 2:集合存储对象并遍历


一:LinkedHashSet类概述

元素有序唯一 由链表保证元素有序 由哈希表保证元素唯一

注意:由于它继承于HashSet所以它具有HashSet,和Set以及Collection的方法

二:解释

LinkedHashSet:底层是哈希表和链表组成

哈希表保证元素的唯一性

链表保证的元素的顺序、有序(存储和取出的顺序一致)

先将进来的元素进行hashcode然后比较如果不存在就插入,如果有就继续

三:例子

1:集合存储字符串并遍历

package day27;

import java.util.LinkedHashSet;

public class Test16{
    public static void main(String[] args) {
        LinkedHashSet<String> strings = new LinkedHashSet<>();//创建LinkedHashSet对象指定泛型为字符串
        //添加元素
        strings.add("hello");
        strings.add("world");
        strings.add("java");
        strings.add("hadoop");
        strings.add("world");
        strings.add("java");
        //增强for循环遍历集合strings并且输出
        for (String string : strings) {
            System.out.println(string);
        }

    }
}

 2:集合存储对象并遍历

      package day27;

import java.util.LinkedHashSet;

public class Test17 {
    public static void main(String[] args) {
        LinkedHashSet<Student> students = new LinkedHashSet<>();
        Student s1 = new Student(18, "小花");
        Student s2 = new Student(17, "小明");
        Student s3 = new Student(19, "小可");
        Student s4 = new Student(20, "小良");
        Student s5 = new Student(22, "小亮");
        Student s6= new Student(19, "小花");
        Student s7 = new Student(17, "小明");
        //把学生对象添加到元素中
        students.add(s1);
        students.add(s2);
        students.add(s3);
        students.add(s4);
        students.add(s5);
        students.add(s6);
        students.add(s7);
        //增强for循环遍历获得学生姓名和年龄并输出
        for (Student student : students) {
            System.out.println(student.getName()+"**"+student.getAge());
        }
    }
}

Guess you like

Origin blog.csdn.net/weixin_50691399/article/details/121001134