java: Comparable比较器,数组对象比较器
Arrays只适合一个数组/对象内的数值进行比较,
Comparable比较器(Compara)适合数组,对象,队列等排序,
Comparable是一个接口类,实现此接口必须复写:compareTo 方法,
compareTo方法会返回三个值:1,0,-1,可以利用这三个值进行排序
//比较器
class Student2 implements Comparable<Student2>{
private int strno;
private String name;
private int age;
private float score; public Student2(int strno, String name, int age, float score) {
this.strno = strno;
this.name = name;
this.age = age;
this.score = score;
} @Override
public String toString() {
// TODO 自动生成的方法存根
return "学号:"+this.strno+",姓名:"+this.name+",年龄:"+this.age+",成绩:"+this.score;
}
@Override
public int compareTo(Student2 stu) {
// TODO 自动生成的方法存根
if(this.score > stu.score)
{
return 1;
}else if(this.score < stu.score){
return -1;
}else{
return 0;
}
} } public class CompareDemo { public static void main(String args[])
{
Student2 stu[] = {new Student2(1,"张三",20,98.13f),
new Student2(2,"李四",33,88.18f),
new Student2(3,"王五",41,80.32f),
new Student2(4,"赵六",28,89.77f),
new Student2(5,"田七",25,90.53f)}; //排序
System.out.println("++++++++++++数组排序前+++++++++++++++");
print(stu);
System.out.println("++++++++++++数组排序后+++++++++++++++");
Arrays.sort(stu);
print(stu);
} public static void print(Student2 stu[])
{
for(int i=0;i<stu.length; i++)
{ System.out.println(stu[i]);
}
} }
java: Comparable比较器,数组对象比较器的更多相关文章
- JAVA中的数组对象
代码:Student [] sd=new Student[5];//新建一个学生类的数组对象sd. sd[0]=new Student("kj",13);//为数组对 ...
- Java/C++中数组的区别
1. 数组名区别 -------------------------------------- 1. java中不用说,本着一切皆对象的原则,所以java中的数组也是对象.那么数组类是哪个,当然不是j ...
- java篇 之 数组
数组:本身也是对象元素数据类型必须一致,初始值为各种零(跟类型一致),数组中存放 的是对象的引用(地址),对象在其它空间,一旦创建长度不可变,length可以直 接访问 (new的时候才分配空间,创建 ...
- JAVA笔记10__Math类、Random类、Arrays类/日期操作类/对象比较器/对象的克隆/二叉树
/** * Math类.Random类.Arrays类:具体查JAVA手册...... */ public class Main { public static void main(String[] ...
- Java对象比较器对泛型List进行排序-Demo
针对形如:字段1 字段2 字段3 字段n 1 hello 26 7891 world 89 5562 what 55 4562 the 85 452 fuck 55 995 haha 98 455 以 ...
- Comparable比较器和Comparator比较器
1.Comparable比较器 在Arrays类中存在sort()排序方法,此方法可以直接对对象数组进行排序. public static void sort(Object[] a 根据元素的自然顺序 ...
- Java对数组对象进行排序
下面是一组对数组对象进行排序的代码: package com.sun; import java.util.ArrayList; import java.util.Arrays; import java ...
- java数组对象的浅层复制与深层复制
实际上,java中数组对象的浅层复制只是复制了对象的引用(参考),而深层复制的才是对象所代表的值.
- Java Script基础(八) Array数组对象
一.Array数组 JavaScript中的数组也是具有相同数据类型的一个或者多个值得集合.用法和Java中的数组类似. Array对象的常用属性和方法: 属性: length:获取数组的长度: 方法 ...
随机推荐
- es 中 for in for of
arr=[11,22,33,44,55,66,77,88]for (const i in arr){ console.log(i) if (i===4){ console.log(arr[i]) }} ...
- delphi下excel的操作
1.首先引用comobj.varints单元 2.声明xlApp,xlBook, xlSheet,picture: Variant; 3.基本操作 xlApp:=CreateOleObject('Ex ...
- 简单的 ajax demo
2.最重要也是最核心的是要自己改下bootstrap-paginator.js源文件,如下: [javascript] view plain copy function oneferRepo ...
- Python中单例模式的使用方法
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在. 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场 ...
- Python获取主机名
import socket print socket.gethostname()
- microsoft cl.exe 编译器
cl.exe是visual stdio 内置的编译器,visual stdio包含各种功能,有些功能可能这辈子都用不到,体积庞大,如果是 开发比较大或者有图形的项目,vs是首选.更多情况时更喜欢使用文 ...
- mysq数据库的安装和基本操作
一.数据库的简介 1.什么是数据库? 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独 ...
- "深入理解C语言" 指针
本文对coolshell中的"深入理解C语言"这篇文章中提到的指针问题, 进行简要的分析. #include <stdio.h> int main(void){ ]; ...
- val() attr('value')
val() 只能更改输入框内的值,能更改value属性, 在浏览器中体现不出value被改变 attr('value') 都可以 谷歌浏览器 val,attr都能获取输入框最新的value值
- $《第一行代码:Android》读书笔记——第6章 数据持久化
主要讲述了Android数据持久化的三种方式:文件存储.SharedPreference存储.SQLite数据库存储. (一)文件存储 其实Android中文件存储方式和Java的文件操作类似,就是用 ...