文章目录
Comparable接口
观察ClassCastException
- Comparable接口
- 观察ClassCastException
- 实现对象数组的排序
- Comparator接口
- 使用 Comparator使用对象数组排序
- 通过Lambda表达式实现简写
- 教程出处
import java.util.Arrays;
class Book {
private String title ;
private double price ;
public Book(String title, double price) {
this.title = title ;
this.price = price ;
}
public String toString() {
return "【Book】图书名称:" + this.title + "、图书价格:" + this.price + "\n" ;
}
// setter、getter、无参构造,略 ...
}
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
Book books [] = new Book[] {
new Book("Java从入门到项目实战", 99.8) ,
new Book("Python从入门到项目实战", 89.7) ,
new Book("GO语言从入门到项目实战", 96.3)
} ; // 提供有一个对象数组
Arrays.sort(books); // 数组排序处理
System.out.println(Arrays.toString(books)); // 实现对象数组的字符串转换
}
}
package com.yootk.demo;
import java.util.Arrays;
class Book implements Comparable { // 这个类拥有排序支持
private String title ;
private double price ;
public Book(String title, double price) {
this.title = title ;
this.price = price ;
}
public String toString() {
return "【Book】图书名称:" + this.title + "、图书价格:" + this.price + "\n" ;
}
@Override
public int compareTo(Book o) {
if (this.price > o.price) {
return 1 ;
} else if (this.price o2.getPrice()) {
return 1 ;
} else if (o1.getPrice() {
if (o1.getPrice() > o2.getPrice()) {
return 1 ;
} else if (o1.getPrice()
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?