How to sort a HashSet?

后端 未结 19 2477
耶瑟儿~
耶瑟儿~ 2020-12-02 12:42

For lists, we use the Collections.sort(List) method. What if we want to sort a HashSet?

19条回答
  •  时光取名叫无心
    2020-12-02 13:21

    You can wrap it in a TreeSet like this:

    Set mySet = new HashSet();
    mySet.add(4);
    mySet.add(5);
    mySet.add(3);
    mySet.add(1);
    System.out.println("mySet items "+ mySet);   
    
    TreeSet treeSet = new TreeSet(mySet);   
    System.out.println("treeSet items "+ treeSet);   
    

    output :
    mySet items [1, 3, 4, 5]
    treeSet items [1, 3, 4, 5]

    Set mySet = new HashSet();
    mySet.add("five");
    mySet.add("elf");
    mySet.add("four");
    mySet.add("six");
    mySet.add("two");
    System.out.println("mySet items "+ mySet);
    
    TreeSet treeSet = new TreeSet(mySet);
    System.out.println("treeSet items "+ treeSet);
    

    output:
    mySet items [six, four, five, two, elf]
    treeSet items [elf, five, four, six, two]

    requirement for this method is that the objects of the set/list should be comparable (implement the Comparable interface)

提交回复
热议问题