comparator和comparable的区别
时间:2019-10-22
本文章向大家介绍comparator和comparable的区别,主要包括comparator和comparable的区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Comparable java.lang 内比较器
传入一个对象,与自身进行比较,返回差值 正整数 0 负整数。
实现接口 :public interface Comparable<T>
接口定义的方法:public int compareTo(T o);
举例:
private static class Student implements Comparable{ int id; private Student(int id){ this.id = id; } @Override public int compareTo(Object o) { return this.id - ((Student)o).id; } } public void studentCompareTo(){ Student s1 = new Student(10); Student s2 = new Student(20); int b = s1.compareTo(s2); System.out.println(String.valueOf(b)); }
Comparator java.util 外比较器
传入两个对象,进行比较
实现接口:public interface Comparator<T>
接口定义的方法 int compare(T o1, T o2);
举例
private static class StudentCom1 implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { return o1.id - o2.id; } } public void studentCompatator() { List<Student> students = new ArrayList<>(); Student student1 = new Student(10); students.add(student1); Student student2 = new Student(20); students.add(student2); Student student3 = new Student(15); students.add(student3); Collections.sort(students, new StudentCom1()); for (Student student : students) System.out.println(student.id); }
原文地址:https://www.cnblogs.com/erinchen/p/11719344.html
- SDP(4):ScalikeJDBC- JDBC-Engine:Updating
- SDP(3):ScalikeJDBC- JDBC-Engine:Fetching
- SDP(2):ScalikeJDBC-Connection Pool Configuration
- 使用外部表关联MySQL数据到Oracle(r6笔记第100天)
- 使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记
- python 报错'gbk' codec can't encode character 'ue5d1' in position 0:
- python文件打开方式详解——a、a+、r+、w+区别
- 三封报警邮件的分析(r6笔记第95天)
- HCTF2017 部分 Web 出题思路详解
- 基于springboot+kotlin+gradle构建的框架的坑
- 创建Task的多种方法
- 运行map()后,报:<map object at 0x02629E50>解决方法与原因分析
- Gradle的快速入门
- Python笔记从html中提取字段
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 刷leetcode用到的知识
- Vue生命周期中mounted和created的区别
- 用vbs和ADSI管理Windows账户
- autohotkey 设置
- 合并果子2之蚂蚁搬沙 【贪心】
- Openresty 健康检查
- vue中'$refs'、'$emit'、'$on'的使用场景
- 程序员需要了解的硬核知识之压缩算法
- Codeforces Round #598 (Div. 3) E. Yet Another Division Into Teams dp
- Mybaits 源码解析 (七)----- Select 语句的执行过程分析(下篇)(Mapper方法是如何调用到XML中的SQL的?)全网最详细,没有之一
- elasticsearch备份脚本
- 01项目准备工作
- 文件包含漏洞
- 爬取帖子
- JSON Web Token 使用详解