最新文章专题视频专题关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
js 获取当前日期 6亿9000万什么梗 沈虎和玉融是什么电视剧 香港留学政策有什么 java jsonobject 大连日本风情街要门票吗 哪个台演扫黑风暴 adad是什么牌子的口红 git ignore设置 什么是分数 java throw c# webapi js onclick 华为手机控制中心怎么变样式了 时代少年团8月25日什么日子 js click t35级别是什么意思 quartus ii使用教程 红日一升在东方什么歌 音乐昵称大全 yarn命令 我要的也不多你不要嫌我啰嗦什么歌 js formdata 梦幻新诛仙山海苑后院在哪 js arguments java return js regexp 特约正扬是什么平台 标题可以有标点符号吗 耳机声音小音量已经是最大了 姜黄饮料有哪些 endnote20使用教程 带王的网名昵称大全 台州旅游必去十大景点 蓝牙耳机默认音量过大 个人超话是什么意思 河北有哪些大学 python xlwt 我解开蝴蝶结是什么歌 js 打开新窗口
当前位置: 首页 - 科技 - 知识百科 - 正文

java comparator

来源:懂视网 责编:李赢赢 时间:2021-12-25 17:59:41
文档

java comparator

1、简介:comparator是javase中的接口,位于java.util包下。2、功能:comparator接口代表一个比较器,比较器具有可比性。3、comparator使用场景:排序、分组。4、总结:一般需要做比较的逻辑都可以使用Comparator。
推荐度:
导读1、简介:comparator是javase中的接口,位于java.util包下。2、功能:comparator接口代表一个比较器,比较器具有可比性。3、comparator使用场景:排序、分组。4、总结:一般需要做比较的逻辑都可以使用Comparator。

java中comparator是什么,怎么使用呢?不知道的小伙伴来看看小编今天的分享吧!

1、comparator简介:

comparator是javase中的接口,位于java.util包下。

2、功能

comparator接口代表一个比较器,比较器具有可比性。

javase一些使用到Comparator接口的地方:

Arrays.sort(T[],Comparator<? super T> c);

Collections.sort(List<T> list,Comparator<? super T> c);

3、comparator使用场景

排序:需要比较两个对象谁排在前谁排在后(排序也可以让类实现Comparable接口,实现后该类的实例也具有排序能力)。

分组:需要比较两个对象是否是属于同一组。

举例:

排序

在List或数组中的对象如果没有实现Comparable接口时,那么就需要调用者为需要排序的数组或List设置一个Compartor,Compartor的compare方法用来告诉代码应该怎么去比较两个实例,然后根据比较结果进行排序:

talk is cheap show me the code

package com.java.demo;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

/**

 * @author puyf

 */

public class SortTest {

class Dog{

public int age;

public String name;

public Dog(int age, String name) {

super();

this.age = age;

this.name = name;

}

@Override

public String toString() {

return "Dog [age=" + age + ", name=" + name + "]";

}

}

public static void main(String[] args) {

List<Dog> list= new ArrayList<>();

list.add(new SortTest().new Dog(5, "DogA"));

list.add(new SortTest().new Dog(6, "DogB"));

list.add(new SortTest().new Dog(7, "DogC"));

Collections.sort(list, new Comparator<Dog>() {

@Override

public int compare(Dog o1, Dog o2) {

return o2.age - o1.age;

}

});

System.out.println("给狗狗按照年龄倒序:"+list);

Collections.sort(list, new Comparator<Dog>() {

@Override

public int compare(Dog o1, Dog o2) {

return o1.name.compareTo(o2.name);

}

});

System.out.println("给狗狗按名字字母顺序排序:"+list);

}

}

4、总结

一般需要做比较的逻辑都可以使用的上Comparator,最常用的场景就是排序和分组,排序常使用Arrays和Collections的sort方法,而分组则可以使用上面提供的divider方法。

排序和分组的区别在于:

排序时,两个对象比较的结果有三种:大于,等于,小于。

分组时,两个对象比较的结果只有两种:等于(两个对象属于同一组),不等于(两个对象属于不同组)

以上就是小编今天的分享了,希望可以帮助到大家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文档

java comparator

1、简介:comparator是javase中的接口,位于java.util包下。2、功能:comparator接口代表一个比较器,比较器具有可比性。3、comparator使用场景:排序、分组。4、总结:一般需要做比较的逻辑都可以使用Comparator。
推荐度:
标签: java comparator
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题js 获取当前日期js 获取当前日期专题6亿9000万什么梗6亿9000万什么梗专题沈虎和玉融是什么电视剧沈虎和玉融是什么电视剧专题香港留学政策有什么香港留学政策有什么专题java jsonobjectjava jsonobject专题大连日本风情街要门票吗大连日本风情街要门票吗专题哪个台演扫黑风暴哪个台演扫黑风暴专题adad是什么牌子的口红adad是什么牌子的口红专题git ignore设置git ignore设置专题什么是分数什么是分数专题java throwjava throw专题c# webapic# webapi专题js onclickjs onclick专题华为手机控制中心怎么变样式了华为手机控制中心怎么变样式了专题时代少年团8月25日什么日子时代少年团8月25日什么日子专题js clickjs click专题t35级别是什么意思t35级别是什么意思专题quartus ii使用教程quartus ii使用教程专题红日一升在东方什么歌红日一升在东方什么歌专题音乐昵称大全音乐昵称大全专题h3c交换机常用命令h3c交换机常用命令专题牛气满满的哥哥第六期捉迷藏谁赢了牛气满满的哥哥第六期捉迷藏谁赢了专题鞋履不二手是什么意思鞋履不二手是什么意思专题暮心app是干嘛的暮心app是干嘛的专题∶是什么符号∶是什么符号专题微信动态求锦鲤是什么意思微信动态求锦鲤是什么意思专题扫黑风暴高赫是谁演的扫黑风暴高赫是谁演的专题怎样提高种植的生活力蚂蚁庄园怎样提高种植的生活力蚂蚁庄园专题吃个桃桃好凉凉是什么意思吃个桃桃好凉凉是什么意思专题黑芝麻怎么吃最好黑芝麻怎么吃最好专题手术衣清洗消毒流程专题手机直面屏和曲面屏图片专题夏天课件大班ppt专题手机指令库专题手术室消毒隔离技术ppt专题手机支架怎么调节宽度专题手术室术前宣教视频专题泰剧网热播剧专题手指好像被火烧一样专题怎么查自己qq违规记录专题手术瘦腿价格专题泰剧王子变形计专题rtx3090 水冷专题草龟能墨化吗专题草龟是吃什么食物专题手算方格网计算土方量步骤专题市分局与区分局专题关于打造升级版中国东盟博览会专题公司金佑人生重疾险如何专题手术显微镜多少钱一台专题
Top