【java基础】HashSet插入顺序问题

总结:
1、HashSet底层的插入是通过HashMap来实现的
2、HashSet并不按照插入的顺序存储,它是无序的
3、LinkedHashSet中的元素可以按照它们插入规则集的顺序提取

    @Test
    //HashSet并不按照插入的顺序
    public void setIndex(){
        //HashSet底层也是HashMap
        HashSet<Integer> set = new HashSet<>();
        set.add(5);
        set.add(2);
        set.add(4);

        for (Integer integer : set) {
            System.out.println(integer); //2,4,5
        }

        System.out.println("---------------");
        Iterator<Integer> iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next()); //2,4,5
        }

        //LinkedHashSet中的元素可以按照它们插入规则集的顺序提取
        System.out.println("LinkedHashSet中的元素可以按照它们插入规则集的顺序提取");
        HashSet<Integer> set1 = new LinkedHashSet<>();
        set1.add(5);
        set1.add(2);
        set1.add(4);

        for (Integer integer : set1) {
            System.out.println(integer); //5,2,4
        }
    }
posted @ 2022-09-30 12:29  xiaoyu_jane  阅读(380)  评论(0编辑  收藏  举报