当前位置: 首页 > news >正文

网站建设与管理指什么国际新闻今天最新消息

网站建设与管理指什么,国际新闻今天最新消息,手机体验网站,河北做wap网站Comparator VS Comparable1. Comparator1.1 对一维数组进行排序1.2 对二维数组进行排序1.3 对对象数组进行排序2. Comparable3. 二者区别1. Comparator 通过源码发现Comparator是一个接口。 根据compare方法中的注释可以发现方法返回三种类型的值,正数、零、负数&a…

Comparator VS Comparable

  • 1. Comparator
    • 1.1 对一维数组进行排序
    • 1.2 对二维数组进行排序
    • 1.3 对对象数组进行排序
  • 2. Comparable
  • 3. 二者区别

1. Comparator

通过源码发现Comparator是一个接口。

在这里插入图片描述

根据compare方法中的注释可以发现方法返回三种类型的值,正数、零、负数,分别对应 小于,等于,大于。

1:前面的数 > 后面的数,是降序(从大到小)的,如果想要改为升序排列,就需要返回 1;
-1:前面的数 < 后面的数,是升序(从小到大)的,不改变位置就返回 -1;
0:二者相等,不进行交换,也就不排序。但是要根据题目来判断返回什么。如果数组是无序的,不能直接返回0。
若保证升序排列,要返回o1 - o2,降序则 o2 - o1。( o1值的是集合中的第一个对象,o2是第二个对象)
return 0:不交换位置,不排序
return 1:交换位置
return -1:不交换位置

下面将对Comparator接口的用法进行讲解:

  1. 对一维数组进行排序。
  2. 对二维数组进行排序。
  3. 对对象数组进行排序。

1.1 对一维数组进行排序

使用Arrays类中的sort方法直接对ages进行排序,默认排序方式为升序。

在这里插入图片描述

使用匿名内部类对数据这里要求数组不能为基本类型的素组,可以转化为基本数据类型对应的包装类进行降序排列:

    return o1 - o2; -- 升序排列return o2 - o1; -- 降序排列

在这里插入图片描述

1.2 对二维数组进行排序

使用Arrays类中的sort方法,如下所示:

在这里插入图片描述

在这里插入图片描述

1.3 对对象数组进行排序

创建Student学生实体类:

public class Student {private int age;private String name;private double height;// setXXX/getXXX,构造方法,toString方法
}

直接对Strudent数据进行排序:可以发现对实体类数组直接进行排序会报错。

在这里插入图片描述

结合ComparatorStrudent数组按照年龄从低到高进行排序:

在这里插入图片描述

结合ComparatorStrudent数组按照身高从高到底进行排序:

在这里插入图片描述

2. Comparable

使用场景:假如说我们有这样一个需求,需要设计一个Student类,有两个属性:姓名(name)、年龄(age)和身高(height),按照年龄的大小进行排序,那么就可以使用Comparable进行实现,注意区别Comparator

  1. 首先创建Student类并实现Comparable<T>接口, 按照年龄升序排列Comparator<T>,其中泛型T为比较器可以比较的对象的类型,在这里面为Person

在这里插入图片描述

  1. 首先创建Student类并实现Comparable<T>接口, 按照年龄降序排列

在这里插入图片描述

  1. 首先创建Student类并实现Comparable<T>接口, 按照身高升序排列

在这里插入图片描述

  1. 首先创建Student类并实现Comparable<T>接口, 按照身高降序排列

在这里插入图片描述

3. 二者区别

Comparable 和 Comparator 的区别

  1. java.lang.Comparable:在类定义的时候,可以实现好的接口,里面有compareTo这个方法需要实现。
  2. java.util.Comparator:是挽救的比较接口(假如我们需要对别人给Person类进行排序,但是Person类里面没有Comparable接口,如果在不允许改变源代码的情况下,我们就可以使用Comparator接口),需要单独定义一个比较类,里面有compare比较方法。
http://www.15wanjia.com/news/32345.html

相关文章:

  • 网络营销的功能是什么seo优化的主要内容
  • 兰州网站在哪备案2022最新版百度
  • 通辽住房和城乡建设委员会网站软文文案
  • 深圳网站优化排名seo公司上海
  • 企业网站怎么做优化seo排名哪家公司好
  • wordpress图片页面seo推广是什么
  • 帮人做网站犯法网站搜索引擎优化报告
  • 网站后台打开慢如何让百度快速收录
  • 网页qq登录登录入口申泽seo
  • 苏州专业做网站的公司如何进行网站宣传推广
  • 网络推广团队需要哪些人手做网站优化哪家公司好
  • 国外做爰网站 xzl49.cn会员制营销
  • 江西省兴赣建设监理咨询有限公司网站上海网站排名优化
  • 公安网站建设经验介绍下载百度app免费下载安装
  • 网站都有什么类型的2022小说排行榜百度风云榜
  • 怎样用网站做淘宝客网站建设方案
  • 国务院办公厅关于网站建设要求企业网站设计毕业论文
  • 网站搭建供应商sem电子扫描显微镜
  • 网站系统安全性杭州免费网站制作
  • 官方网站建设的目的河南网站优化公司哪家好
  • 中国与俄罗斯最新局势进一步优化营商环境
  • 做网站需要学php哪些技术百度指数查询官网入口
  • 淄博网站建设电话咨询seo网站优化培训价格
  • 连云港网站建设电话女生学市场营销好吗
  • 域名网站网址网站推广的意义和方法
  • 外汇做单在什么网站百度推广页面投放
  • 那个网站可以做全景图自己可以做网站推广吗
  • 华大基因 网站建设fifa世界排名最新
  • 塘厦做网站软文范例大全800字
  • 成功网站建设案例30个免费货源网站