Java面向对象OOP练习源码04_按照某个属性字段进行排序

问题描述:

制作汽车类,现有格式汽车5款,名字,生产日期 与 价格。
将他们存放在集合中并按价格排序再迭代输出

package com.exercise2_4;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Car implements Comparable<Car>{
	String name;
	String date;
	int price;
	
	public Car(String name, String date, int price) {
		super();
		this.name = name;
		this.date = date;
		this.price = price;
		}
	@Override
	public int compareTo(Car arg0) {
		return this.price-arg0.price;
	}
	@Override
	public String toString() {
	return "名字:" + name + ", 生产日期:" + date + ", 价格:" + price ;
	}
	//setter和getter
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}
}
/*//方法二:
//自定义一个比较器
class MyComparator implements Comparator<Car>{
	public int compare(Car car1,Car car2) {
		return car1.price-car1.price;//按照升序排
				//-(car1.price-car1.price)按照降序排
	}
}
*/
public class Test {
	public static void main(String[] args) {
		List<Car> cars = new ArrayList<Car>();
		cars.add(new Car("玛莎拉蒂", "1999-3", 9999));
		cars.add(new Car("宝马", "1998-2", 1000));
		cars.add(new Car("奔驰", "2009-3", 1003));
		cars.add(new Car("宾利", "2020-4", 1002));
		System.out.println("排序前:");
		for (Car car : cars)
			System.out.println(car.toString());

		Collections.sort(cars);	//按照价格进行排序
		
		System.out.println("排序后:");
		for (Car car : cars)
			System.out.println(car.toString());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲儿啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值