广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java自带排序使用
  • 913
分享到

java自带排序使用

2024-04-02 19:04:59 913人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

基本类型排序: int a[]={1,2,5,3,6,4}; Arrays.sort(a);//对a升序排序 Arrays.sort(a,0,6);//对a从下标0,到下标5排序

基本类型排序:


int a[]={1,2,5,3,6,4};
Arrays.sort(a);//对a升序排序
Arrays.sort(a,0,6);//对a从下标0,到下标5排序

自定义类型排序:


static Student b[]=new Student [4];
for(int i=0;i<4;++i)b[i]=new Student("str", 4-i);
Arrays.sort(b,new Mcompeter());//对数组所有元素排序,Comparator可以用实例,也可以匿名对象
Arrays.sort(b,0,4,new Mcompeter());//对数组从下标0到3排序

static class Student {
     public String name;
     public int age;
     
     public Student(String name,int age){
        this.name = name;
        this.age = age;
     }
     
     public String toString() {
      return "Student [name=" + name + ", age=" + age + "]";
     }
}
static class Mcompeter implements Comparator<Student> 
 {
  @Override
  public int compare(Student o1, Student o2) {
   // TODO 自动生成的方法存根
   if(o1.name.compareTo(o2.name)==0)
   {
    return o1.age-o2.age;
   }
   else return o1.name.compareTo(o2.name);
  }
 }

比较函数的写法:

参考:https://www.jb51.net/article/232347.htm

比较逻辑:

  • o1 < o2 ---- 返回负数
  • o1 = o2 ---- 返回 0
  • o1 > o2 ---- 返回正数

人都绕晕了。。。

理一下思路:

排序函数默认从小到大排序
那么怎么界定谁大谁小呢,给排序函数一个比较函数

那么比较函数已经有两个参数了,怎么表示o1,o2的大小关系呢?

就是逻辑如下:

o1  <  o2   ---- 返回负数
o1  =  o2   ---- 返回 0
o1  >  o2   ---- 返回正数

  • 返回负数表示o1<o2
  • 返回0 表示相等
  • 返回正数表示o1>o2

要把排序函数和比较函数分离开

他们是独立实现功能的函数,只要保证他们自己的正确即可

写比较函数需要做的就是:

  • 在o1<o2时返回负数
  • 在o1=o2时返回0
  • 在o1>o2时返回整数

其中的"<"和“>”不一定是真实数值意义上的小于和大于,而是你希望的小于和大于。

比如o1 o2都为int

if(o1>o2) return -1;

那么o1的值比o2大就是我定义的“小于”

到此这篇关于java自带排序使用的文章就介绍到这了,更多相关java自带排序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java自带排序使用

本文链接: https://www.lsjlt.com/news/160301.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java自带排序使用
    基本类型排序: int a[]={1,2,5,3,6,4}; Arrays.sort(a);//对a升序排序 Arrays.sort(a,0,6);//对a从下标0,到下标5排序 ...
    99+
    2022-11-12
  • java自带排序怎么用
    这篇文章主要介绍了java自带排序怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基本类型排序:int a[]={1,2,5,3,6,4};Arrays.sor...
    99+
    2023-06-22
  • Java使用DualPivotQuicksort排序
    目录1. 插入排序(insertion sort)2. 计数排序(counting sort)3. 快速排序(Quicksort)3.1 对数组做近似7等分3.2 对五个切割点进行插...
    99+
    2022-11-12
  • 一文带你了解Java排序算法
    目录一、选择排序二、冒泡排序三、插入排序一、选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。...
    99+
    2022-11-13
  • Java使用lambda自定义Arrays.sort排序规则说明
    目录lambda自定义Arrays.sort排序规则1.类间排序2.使用比较器(comparator)作为sort的参数(用于单个类型的排序)补充一下Arrays.sort()的一些...
    99+
    2022-11-13
  • java如何自定义List中的sort()排序,用于日期排序
    目录java 自定义List中的sort()排序1、问题描述2、解决方法3、其他java Collections类:sort()升序排序正向排序java 自定义List中的sort(...
    99+
    2022-11-12
  • java如何自定义List中的sort()排序且用于日期排序
    本篇文章给大家分享的是有关java如何自定义List中的sort()排序且用于日期排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java 自定义List中的sort()排序...
    99+
    2023-06-25
  • java Comparator.comparing排序使用示例
    目录背景 实体类 示例一 示例二 背景 以前常用的排序方式是通过实现Comparator接口来进行排序,写法相对来说比较复杂,使用Comparator.comparing可以简化代...
    99+
    2022-11-12
  • Java如何使用DualPivotQuicksort排序
    本篇内容介绍了“Java如何使用DualPivotQuicksort排序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java排序 - Du...
    99+
    2023-06-14
  • 一文带你读懂java中的希尔排序
    这期内容当中小编将会给大家带来有关一文带你读懂java中的希尔排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。希尔排序:通过比较相距一定间隔的元素来工作;各趟比较所用的距离(增量)随着算法的进行而减小,...
    99+
    2023-05-31
    java 希尔排序 ava
  • Java使用Collections.sort()排序的方法
    Java中Collections.sort()的使用 在日常开发中,很多时候都需要对一些数据进行排序的操作。然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集...
    99+
    2022-11-12
  • excel自动排序函数怎么使用
    Excel中的自动排序函数主要有两种,分别是SORT和SORTBY函数。下面将分别介绍它们的使用方法:1. SORT函数:SORT函...
    99+
    2023-09-29
    excel
  • MySQL使用order by field()自定义排序
    使用order by field()自定义排序 MySQL在对结果集排序的时候,可以根据某些字段排序,也可以通过field函数自定义任意排序。 语法 ... order by field(value,s...
    99+
    2018-11-09
    MySQL使用order by field()自定义排序
  • Java案例使用比较排序器comparator实现成绩排序
    需求:用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩),并遍历该集合;要按照总分从高到低进行排序 分析: 1.创建学生类 成员变量 姓名,语文成绩、数学成绩;成员方法...
    99+
    2022-11-13
  • Java使用LinkedHashMap进行分数排序
    分数排序的特殊问题在java中实现排序远比C/C++简单,我们只要让集合中元素对应的类实现Comparable接口,然后调用Collections.sort();方法即可.这种方法对于排序存在许多相同元素的情况有些浪费,明显即使值相等,两个...
    99+
    2023-05-31
    java linkedhashmap 排序
  • java自带的sort方法如何使用
    Java自带的sort方法可以用于对数组或列表进行排序。具体使用方法如下:1. 对数组排序:- 使用Arrays类的静态方法sort...
    99+
    2023-10-12
    java
  • Java的sort的排序及使用详解
    目录1.按升序排列:2. 随机排序:3.按降序排列:4.根据参数属性值排序5. 根据参数不同,来确定是升序排列,还是降序排序总结sort() 方法在适当的位置对数组的元素进行排序,并...
    99+
    2022-11-13
  • Java快速排序方法怎么使用
    本篇内容介绍了“Java快速排序方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!快速排序思想介绍快速排序使用了分治的思想,通过一轮...
    99+
    2023-06-02
  • 如何使用JDK自带的VisualVM进行Java程序的性能分析
    这篇文章主要介绍了如何使用JDK自带的VisualVM进行Java程序的性能分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VisualVM是什么?VisualVM是JDK...
    99+
    2023-06-02
  • 带你了解Java数据结构和算法之高级排序
    目录1、希尔排序①、直接插入排序②、希尔排序图解③、排序间隔选取④、knuth间隔序列的希尔排序算法实现⑤、间隔为2h的希尔排序2、快速排序①、快速排序的基本思路②、快速排序的算法实...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作