java按照商品价格排序_按照指定的类型排序

本文介绍了如何在Java中按照商品价格对对象进行排序。通过实现Comparable接口,并重写compareTo方法,可以使用Collections的sort方法对包含商品价格的列表进行排序。示例代码展示了一个名为ComparableBook的类,其根据价格进行比较并排序,最后输出排序后的结果。
摘要由CSDN通过智能技术生成

比如有三本书,书名和价格分别如下:《猎物》18.4元、《大明王朝》59.0元、《快乐密码》25.0元。前几天的一篇文章中讲到按照中文拼音进行排序,这里如果想按照价格排序的话怎么办?

其实这里就牵涉到在Java中怎样对对象进行排序处理,这里可以使用 java.util.Collections的sort(List list) 方法。这里需要说明的是中间的list中存放的类必须实现 java.lang.Comparable 接口,这个接口只有一个方法:int compartTo(Object o),当本对象比传入的对象大时,返回一个正整数。

下面是实现的代码,大家可以自己理解一下:

import java.util.ArrayList;

import java.util.Collections;

public class ComparableBook implements Comparable {

private String name;

private double price;

public ComparableBook(String name, double price) {

this.name = name;

this.price = price;

}

public int compareTo(Object o) {

ComparableBook other = (ComparableBook)o;

return (int)price - (int)other.price;

}

public String toString() {

return "(name: " + name + ", price: " + price + ")";

}

public static void main(String[] args) {

ArrayList list = new ArrayList();

list.add(new ComparableBook("猎物", 18.4));

list.add(new ComparableBook("大明王朝", 59.0));

list.add(new ComparableBook("快乐密码", 25.4));

Collections.sort(list);

System.out.println(list);

}

}

输出结果:

[(name: 猎物, price: 18.4), (name: 快乐密码, price: 25.4), (name: 大明王朝, price: 59.0)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值