【问题标题】:How to display HashSet objects in preserve order?如何按保留顺序显示 HashSet 对象?
【发布时间】:2013-12-06 12:14:32
【问题描述】:

基本上HashSet后面的插入顺序是不保留的,但是我想在Java中以保留顺序的形式显示HashSet对象。

有可能吗?如果是的话,请您分享一些想法。

提前致谢

JP.

【问题讨论】:

  • 只需使用 LinkedHashSet

标签: java


【解决方案1】:

使用 LinkedHashSet 代替 HashSet。 LinkedHashSet 将维护插入顺序。

【讨论】:

    【解决方案2】:

    对于 Set 有 LinkedHashSet,对于 Map 有 LinkedHashMap - 两者都保留了插入项目的顺序,尽管对性能的影响非常小。

    还有TreeMapTreeSet 选项,它们不保留插入元素的顺序,而是按照指定的顺序(它们的自然顺序或比较器指定的顺序)保持它们。

    【讨论】:

      【解决方案3】:

      如果插入顺序很重要,也许你应该使用 ArrayList。

      【讨论】:

        【解决方案4】:

        使用LinkedHashSet它preserves的插入顺序。

        Set<String> set = new LinkedHashSet<String>();
            for(int i = 0; i <5; i++)
            {
                set.add( i+"" );
            }
            // insertion order is 0,1,2,3,4
            for(String str : set)
            {
                System.out.println(str);
            }
        
            //output 0,1,2,3,4
        

        【讨论】:

        • 我已经设置了,但我想在 java 中以相同的顺序显示该设置。你能分享一段代码吗?提前致谢
        【解决方案5】:

        您可以使用LinkedHashSet,它会保留插入顺序。

        【讨论】:

          猜你喜欢
          • 2018-12-10
          • 2010-10-14
          • 1970-01-01
          • 1970-01-01
          • 2017-09-15
          • 2012-04-28
          • 2010-12-05
          • 1970-01-01
          相关资源
          最近更新 更多