默认的Java.util包中的Arrays.sort(),可以实现对java中的基本数据类型(byte、char、short、int、long、float、double、boolean)的数组进行升序排序。但如果要实现降序排列,则需要借助比较器Comparator。

注: 1. 要逆序排列的数组,不能使用基本数据类型,必须使用基本类型对应的类 。

2.Arrays.sort()函数,不支持Boolean 类型的数组,通过比较器进行逆序排序。

可以使用Stream流

在sorted方法中,o1是最后面的元素,o2是倒数第二个元素,以此类推,流是处理元素是从后面开始取值。

// 将数组按照绝对值大小从大到小排序,注意要按照绝对值的大小 nums = IntStream.of(nums) .boxed() .sorted((o1, o2) -> Math.abs(o2) - Math.abs(o1)) .mapToInt(Integer::intValue).toArray();

Arrays.sort()降序排序的更多相关文章

  1. c++ sort降序排序

    sort是c++ STL中提供的一个函数模板,可以用来对多种类型进行排序. 默认是升序排序.它有两种使用方法: default (1) template <class RandomAccessI ...

  2. 集合(一)-Java中Arrays.sort()自定义数组的升序和降序排序

    默认升序 package peng; import java.util.Arrays;  public class Testexample { public static void main(Stri ...

  3. Java用sort实现对数组的降序排序

    在调用Arrays.sort()对数组进行排序时,默认是升序排序的,如果想让数组降序排序,有下面两种方法: 利用Collections的reverseOrder import java.util.*; ...

  4. 现在输入 n 个数字, 以逗号, 分开; 然后可选择升或者 降序排序;

    /* 现在输入 n 个数字, 以逗号, 分开: 然后可选择升或者 降序排序: */ import java.util.*; public class bycomma{ public static St ...

  5. java数组降序排序之冒泡排序

    import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...

  6. 用shell处理以下内容 1、按单词出现频率降序排序! 2、按字母出现频率降序排序! the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support

    此题目有多种解法,sed.awk.tr等等,都可以解决此题,命令运用灵活多变. 编写shell脚本no_20.sh 解法1: #!/bin/bash ###-------------CopyRight ...

  7. JavaScript对象数组根据某属性sort升降序排序

    1.自定义一个比较器,其参数为待排序的属性. 2.将带参数的比较器传入sort(). var data = [    {name: "Bruce", age: 23, id: 16 ...

  8. 浅谈JavaScript对象数组根据某属性sort升降序排序

    1.自定义一个比较器,其参数为待排序的属性. 2.将带参数的比较器传入sort(). var data = [ {name: "Bruce", age: 23, id: 16, s ...

  9. DataGridView使用技巧十三:点击列头实现升序和降序排序

    DataGridView 列有三种排序模式.每一列的排序模式是通过该列的 SortMode 属性指定的,该属性可以设置为以下的 DataGridViewColumnSortMode 枚举值之一. Da ...

  10. java算法面试题:有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序

    package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; publi ...

随机推荐

  1. LVS的NAT,TUN,DR原理及区别

    原理及其区别 Linux Virtual Server是通过ipvs内核模块和ipvsadm用户空间命令行工具来实现负载均衡的它支持三种工作模式: NAT模式:LVS调度器将请求转发给后端服务器,同时 ...

  2. 【3】java之string类

    String 是一个字符串类型的类,使用双引号定义的内容都是字符串,但是 String 本身是一个类,使用上会有一些特殊. 一. String类对象的两种实例化方式 1.1 直接赋值 public c ...

  3. JavaScrip 学习笔记

    <script> $().ready(function () { // 在键盘按下并释放及提交后验证提交表单 $("#form1").validate({ errorE ...

  4. CF1768F 题解

    题意 传送门 给定长度为 \(n\) 的序列 \(a\),求序列 \(f\),满足: \[f_i= \begin{equation} \begin{cases} 0&(i=1)\\ \min\ ...

  5. 自己写的垃圾shell

    #!/bin/bash echo -e "deb https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe mul ...

  6. .Net 6.0:WebAPI配置跨域

    NuGet程序包管理,搜cors,并下载 紧接着在Program中添加代码 builder.Services.AddCors(options =>{ options.AddPolicy(name ...

  7. element-ui动态表单验证

    由于项目中固定标签的数据是由后端查询回来的数组,需要进行表单验证,代码如下: <template> <div class="form"> <el-fo ...

  8. 【面试题】ES6语法五之箭头函数

    ES6特性=>. function foo(x, y){ return x + y } var foo = (x, y) => x + y 包括一个参数列表(零个或多个参数,如果参数不是一 ...

  9. unity工程多开Bat

    %cd%:: 源路径set sourceDir=C:\Projects\XXX:: 目标路径set destDir=C:\Projects\XXX_Clone :: 如果目标路径不存在就创建if no ...

  10. allure+junit5遇到的一些问题

    java+junit5+allure 之前引testng,还比较顺利,见上一篇博客,然后testng的注解和junit不一样,感觉junit5更好用一些,所以尝试java+junit5+allure ...