集合排序的2种方式

  • 1、使用有序集合进行排序
  • 1.1 TreeSet
  • 1.2 TreeMap
  • 2、使用Collections.sort()进行排序
  • 3、总结
  • 💖The Begin💖点点关注,收藏不迷路💖

    本文将介绍两种主要的集合排序方式:使用有序集合(如TreeSet或TreeMap)和使用无序集合(如List)结合Collections.sort()方法。

    1、使用有序集合进行排序

    Java中的有序集合,如TreeSet和TreeMap,会自动对添加的元素进行排序。这种排序是基于元素的自然顺序(实现了Comparable接口)或者通过提供的Comparator比较器来完成的。

    1.1 TreeSet

    TreeSet是一个不包含重复元素的集合,它实现了NavigableSet接口,可以通过元素的自然顺序或者创建TreeSet时传入的Comparator进行排序。

    示例:

    import java.util.TreeSet;  
      
    public class TreeSetExample {  
        public static void main(String[] args) {  
            TreeSet<Integer> set = new TreeSet<>();  
            set.add(3);  
            set.add(1);  
            set.add(2);  
      
            // 遍历TreeSet,元素将按照自然顺序排列  
            for (Integer num : set) {  
                System.out.print(num + " ");  
            }  
        }  
    }
    

    输出:

    1 2 3
    

    1.2 TreeMap

    TreeMap是一个基于红黑树的NavigableMap实现,它根据键的自然顺序或者创建TreeMap时传入的Comparator进行排序。

    示例:

    import java.util.TreeMap;  
      
    public class TreeMapExample {  
        public static void main(String[] args) {  
            TreeMap<String, Integer> map = new TreeMap<>();  
            map.put("Zebra", 1);  
            map.put("Apple", 2);  
            map.put("Banana", 3);  
      
            // 遍历TreeMap,键将按照自然顺序排列  
            for (String key : map.keySet()) {  
                System.out.println(key + " -> " + map.get(key));  
            }  
        }  
    }
    

    输出:

    Apple -> 2  
    Banana -> 3  
    Zebra -> 1
    

    2、使用Collections.sort()进行排序

    对于无序集合,如ArrayList,我们可以使用Collections.sort()方法来进行排序。这个方法可以接收一个实现了List接口的集合,并对其进行排序。排序可以是基于元素的自然顺序(元素需要实现Comparable接口),或者通过提供一个Comparator比较器来完成。

    示例:

    import java.util.ArrayList;  
    import java.util.Collections;  
    import java.util.List;  
      
    public class ListSortExample {  
        public static void main(String[] args) {  
            List<Integer> list = new ArrayList<>();  
            list.add(3);  
            list.add(1);  
            list.add(2);  
      
            // 使用Collections.sort()进行排序  
            Collections.sort(list);  
      
            // 遍历List,元素将按照自然顺序排列  
            for (Integer num : list) {  
                System.out.print(num + " ");  
            }  
        }  
    }
    

    输出:

    1 2 3
    

    3、总结

    Java提供了两种主要的方式来对集合进行排序:

    1、使用有序集合(如TreeSet和TreeMap)和使用无序集合结合Collections.sort()方法。

    2、有序集合在添加元素时自动进行排序,而无序集合则需要显式调用Collections.sort()方法。

    💖The End💖点点关注,收藏不迷路💖

    作者:Seal^_^

    物联沃分享整理
    物联沃-IOTWORD物联网 » 集合排序的2种方式

    发表回复