java的sort函数中Comparator的简单使用
java中sort函数的用法
①使用Array.sort(a,m,n) 、 Arrays.sort(a),其中a表示的需要排序的数组,m表示的是开始排序的下标,排序的时候包括该下标的元素,n表示的是结束排序的下标,排序过程中不包括它(!!!)
,到前一个元素结束。默认为升序
②在使用Array.sort(a,cmp)的过程中, 发现将a数组定义为long类型是不行的, 需要将a数组定义为Long类型, 否者无法使用sort方法。 使用compare函数,必须使用包装类。用于降序。
import java.util.Arrays;
import java.util.Scanner;
import java.util.Comparator;public class yearLater {public static class MyComparate implements Comparator<Long>{@Overridepublic int compare(Long o1, Long o2) {// TODO Auto-generated method stubreturn o1>o2? -1: 1;}}public static void main(String[] args) {Scanner scan = new Scanner(System.in);Long[] a = new Long[4];for(int i = 0 ; i < a.length ; i++)a[i] = scan.nextLong();Comparator<Long> cmp = new MyComparate();Arrays.sort(a,cmp);for(int i = 0 ; i < a.length ; i++)System.out.print(a[i]+" ");}
在上述代码中,类MyCompare需要实现接口Comparator,接口中的方法都是抽象方法,所以在实现的过程中,方法名必须与接口中相同,即compare必须一样。
Java的数据类型分两种:
1.基本类型:long,int,byte,float,double,char
2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,String,其它一切java提供的,或者自身创建的类。
其中Long又叫 long的包装类。而Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。
什么叫包装类?
在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
比如我们也可以定义一个类:
class Long {
int i=0;
public Long (int i){
this.i=i;
}
}
如此说明的话,Integer就是一个包装类,它包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值:
Long it=new Long(10);
其中变量it就是一个对象,不是一个数字。
java的sort函数中Comparator的简单使用相关推荐
- Map函数 中的compute简单使用-----记录
Map函数 中的compute简单使用 参考文章:参考 1. Map.compiter使用是将最新的map存储的键值返回 example: //获取一个字符串中的字符出现频率String str = ...
- java instanceof翻译_Java 中的instanceof简单讲解
Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: res ...
- Java Arrays.sort()函数
如果参数是字母按照26个字母的顺序排列 String[] str=new String[3];str[0]="ABA";str[1]="ACA";str[2]= ...
- python中sort函数是什么意思_python中sort和sorted函数
在学习python的过程中,感觉python中的排序相和c++中的泛型算法还是比较相似的,但相对于c++而言更加简单易用. python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性 ...
- C++中sort函数
基本语法 首先,C++中使用sort函数的时候需要加上头文件#include<algorithm>. 并且sort函数的语法格式为: void sort (RandomAccessIter ...
- java集合sort底层实现_Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...
- Java集合sort()
Today we will look into Java Collections sort method. While working with Collections in java, more t ...
- List的Sort 函数CompareTo升序降序排序
一.升序.降序 其实C#中的List的Sort函数中的比较函数CompareTo有三种结果 1, -1 ,0分别代表大,小,相等.默认List的排序是升序排序. 举个例子:在比较函数CompareTo ...
- sort函数 sorted函数 超详细用法
1.sort()函数 例1. 按照数值升序/降序排列(排序条件单一为数值大小,最简单情况) list1=[3,-4,2,4] list1.sort() # 默认升序排列. list1.sort(rev ...
最新文章
- 常量元素记忆口诀_化学口诀表:帮助学生加深记忆提高解题正确率
- 维基链超级节点竞选开展如火如荼
- 给你30秒的时间,你会用Excel制作出一个抽奖功能吗?
- 有时间看下这个,分布式缓存,提高并发的
- 记录下log4j的两种配置方式
- Cognitive Security的异常检测技术
- SCPPO(十一):网站发布中的问题锦集—ReportViewer版本问题
- 根据图像连接数判别不同像素所处的位置
- CDOJ 483 Data Structure Problem DFS
- 我的世界seus光影java版下载_minecraft SEUS V11.0光影存档
- Flex布局应用---导航栏实现
- 树莓派链接USB摄像头
- 【小峰の题单】网络流经典题目
- [附源码]计算机毕业设计springboot咖啡销售平台
- 快手亮相第七届全球数字营销峰会,以全域内容营销驱动商业新增长
- 优酷路由器刷openwrt固件一
- Protractor 环境搭建
- FME校园培训南京站
- C++实现w3cshool设计模式教程--设计模式中的Java代码
- 多国金融监管和投资机构代表齐聚香港“HashKey2019数字资产全球峰会”,共探从“江湖”到“庙堂”之路...