美文网首页
Java中Set的顺序问题

Java中Set的顺序问题

作者: zombie11 | 来源:发表于2020-03-04 16:00 被阅读0次

前言

Java中Set继承于Collection接口,是一个不允许出现重复元素的集合,其主要实现且使用最多的类就是HashSet。都知道HashSet是无序的,那么当我们需要用到有序的Set的时候该怎么办呢?

有序性

我们平时所说的有序性分两种情况,插入顺序和自然顺序。
插入顺序指的是集合元素的添加顺序。而自然顺序则是经过集合自动排序后的顺序。

实现类

Set的实现类中LinkedHashSet能按照插入顺序遍历元素;TreeSet能按照自然顺序遍历元素。

LinkedHashSet

public class Order {
    public static void main(String[] args) {
        Set<Integer> set = new LinkedHashSet<Integer>();
        set.add(2);
        set.add(7);
        set.add(4);
        set.add(1);
        for (Integer i : set) {
            System.out.println(i);
        }
    }
}

输出结果为

2
7
4
1

TreeSet

public class Order {
    public static void main(String[] args) {
        Set<Integer> set = new TreeSet<Integer>();
        set.add(2);
        set.add(7);
        set.add(4);
        set.add(1);
        for (Integer i : set) {
            System.out.println(i);
        }
    }
}

输出结果为

1
2
4
7

相关文章

  • Java中Set的顺序问题

    前言 Java中Set继承于Collection接口,是一个不允许出现重复元素的集合,其主要实现且使用最多的类就是...

  • Java自学-集合框架 HashSet

    Java集合框架 HashSet 示例 1 : 元素不能重复 Set中的元素,不能重复 示例 2 : 没有顺序 S...

  • java面试题1

    java基础 List和Set的区别答:Set:不包含重复元素的Collection。List:有顺序的colle...

  • Java集合框架常见面试题(干货)

    剖析面试最常见问题之Java基础知识 说说List,Set,Map三者的区别? List(对付顺序的好帮手): L...

  • 2020-07-03【List与Set的区别】

    Java中的Set集合是继承Collection的接口,是一个不包含重复元素的集合。 List List以特定顺序...

  • 第49节:Java集合框架中底层文档的List与Set

    Java集合框架中的List与Set List为列表,中在列表中的对象是由顺序的排序的,并且是有重复的对象。简单为...

  • Java中对 set 的遍历方式

    Java中对 set 的遍历方式 1.迭代遍历: Set set = new HashSet (); //Set...

  • Java面试大纲

    答案不全,欢迎补充订正~ Java基础 1、List 和 Set 的区别~List允许重复,有序容器,按照存放顺序...

  • Set

    Set接口无顺序,不可重复Set接口有HashSet、TreeSet实现类 Set中只能放一个null,不能多个。...

  • Java程序的顺序问题

    一、Java中的执行顺序 二、Java中的赋值顺序 一、Java中的执行顺序 1.静态块2.块3.构造器4.父类构...

网友评论

      本文标题:Java中Set的顺序问题

      本文链接:https://www.haomeiwen.com/subject/chfblhtx.html