Java排序学习

int[] 数组排序

升序排序:

Arrays.sort(num);

降序排序:


num= IntStream.of(num)          // 变为 IntStream
                .boxed()           // 变为 Stream
                .sorted(Comparator.reverseOrder()) // 按自然序相反排序
                .mapToInt(Integer::intValue)       // 变为 IntStream
                .toArray(); 

Integer[]、String[] 数组排序

升序排序:

Arrays.sort(num);

降序排序:

     Arrays.sort(num, Collections.reverseOrder());

List排序

升序排序:

Collections.sort(num);

降序排序:

     Collections.sort(num, Collections.reverseOrder());

Set排序

set不支持直接排序,可转换成List然后进行排序,需要频繁操作有序可以参考TreeSet
TreeSet

Set->List

Set<Integer> numbers = new HashSet<>();
        numbers.add(5);
        numbers.add(2);
        numbers.add(8);
        numbers.add(1);
        numbers.add(9);

        // 将Set转换为List
        List<Integer> sortedList = new ArrayList<>(numbers);

        // 升序排序
        Collections.sort(sortedList);
        // 降序排序
        Collections.sort(sortedList, Collections.reverseOrder());

Map排序

map也不支持直接排序
可以使用TreeMap来进行**键(Key)**的排序。

TreeMap<String, Integer> treeMap = new TreeMap<>(); //按key升序排序
TreeMap<String, Integer> treeMap = new TreeMap<>(Collections.reverseOrder());//按key降序排序

你可能感兴趣的:(java,学习,开发语言)