要求默认按编号排序,同时实现按名称、价格(从大到小)、上架时间排序的方法

public class Goods implements Comparable<Goods>{private String no;private String name;private int price;private Date time;public Goods() {super();}public Goods(String no, String name, int price, Date time) {super();this.no = no;this.name = name;this.price = price;this.time = time;}public String getNo() {return no;}public void setNo(String no) {this.no = no;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public Date getTime() {return time;}public void setTime(Date time) {this.time = time;}@Overridepublic int compareTo(Goods o) {// TODO Auto-generated method stubreturn this.no.compareTo(o.getNo());}
}
import java.util.Comparator;public class GoodsTimeComparator implements Comparator<Goods> {@Overridepublic int compare(Goods o1, Goods o2) {// TODO Auto-generated method stubreturn o1.getTime().compareTo(o2.getTime());}}
import java.util.Comparator;public class GoodsPriceComparator implements Comparator<Goods> {@Overridepublic int compare(Goods o1, Goods o2) {// TODO Auto-generated method stubreturn o2.getPrice()-o1.getPrice();}}
import java.util.Comparator;public class GoodsNameComparator implements Comparator<Goods>{@Overridepublic int compare(Goods o1, Goods o2) {// TODO Auto-generated method stubreturn o1.getName().compareTo(o2.getName());}}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;public class GoodsTest {public static void main(String[] args) throws ParseException {// TODO Auto-generated method stub
//      Date date = new Date();
//      String s1 = "2018-06-03";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//      sdf.format(s1);Date d = sdf.parse("2012-05-8");Date d1 =(Date) sdf.parse("2014-06-9");Date d2 = sdf.parse("2018-08-6");Date d3 = sdf.parse("2011-01-11");Date d4 = sdf.parse("2016-03-20");List<Goods> list = new ArrayList<Goods>();list.add(new Goods("A001","苹果",8,d));list.add(new Goods("C001","香蕉",4,d1));list.add(new Goods("D001","榴莲",12,d2));list.add(new Goods("B001","西瓜",2,d3));list.add(new Goods("E001","哈密瓜",12,d4));
//      System.out.println(list);
//      Collections.sort(list);System.out.println("*****按照商品编号排序*****");for (Goods goods : list) {System.out.print(goods.getNo() + "\t");}System.out.println();Collections.sort(list,new GoodsNameComparator());System.out.println("*****按照商品名称排序*****");for (Goods goods : list) {System.out.print(goods.getName() + "\t");}System.out.println();Collections.sort(list, new GoodsPriceComparator());System.out.println("*****按照商品价格排序*****");for (Goods goods : list) {System.out.print(goods.getPrice() + "\t");}System.out.println();Collections.sort(list,new GoodsTimeComparator());System.out.println("*****按照商品上架日期排序*****");for (Goods goods : list) {System.out.print(goods.getTime() + "\t");}}}

写一个商品类Goods,属性有商品编号,商品名称,商品价格和上架时间。相关推荐

  1. 创建一个商品类Product类,在该类中定义3个属性id,name,price和重写toString()方法

    ·创建一个商品类Product类,在该类中定义3个属性id,name,price和重写toString()方法,分别实现setter()和getter()方法,创建一个测试类,调用Product类的构 ...

  2. 定义商品类Goods 并进行封装

    定义商品类Goods 并进行封装 如何使用封装的方法 //原创:马志勇/*假如 一个商品的属性为:名称:白菜 单价:7.23 库存量:500公斤*/public class GoodsDemo { p ...

  3. Day14作业 三、编程题 写一个Student类,属性:名字,年龄,分数,班级 (注意分包)

    三.编程题 写一个Student类,属性:名字,年龄,分数,班级 (注意分包) 写一个测试类:创建一个集合,里面装6个学生(有三个班级class01,class02,class03) 例如:list. ...

  4. 简单的面向对象思想,写一个传奇人物的属性

    简单的面向对象思想,写一个传奇人物的属性 package com.hz.game;import java.util.Random;/*** //hat,weapon,necklace,ring,clo ...

  5. 构造方法的定义、重载、调用、使用 (1)定义商品类Goods,

    (1)定义商品类Goods 构造方法的定义.重载.调用.使用 package 两个题3_17;/*许昌学院原创:马志勇互助,互注,互祝*/class Goods{private static Stri ...

  6. 写一个学生类,属性:学生姓名、性别、考试成绩、年龄;写一个班级类,属性:班级名、班主任名字、所有的学生(数组)。 班级类有方法: (一)获得班级所有学生的平均年龄; (二)获得班级的所有学生总成

    题目:写一个学生类,属性:学生姓名.性别.考试成绩.年龄:写一个班级类,属性:班级名.班主任名字.所有的学生(数组). 班级类有方法: (一)获得班级所有学生的平均年龄: (二)获得班级的所有学生总成 ...

  7. 【水汐のC#】设计一个产品类Product,包括产品编号(id),产品名称(name),产品单价(price),产品库存量(amount)。

    设计一个产品类Product,包括产品编号(id),产品名称(name),产品单价(price),产品库存量(amount). 要求: 在产品类中设计静态字段统计所有产品的总库存量amount_all ...

  8. java商品类_编写java的一个商品类,急用,求大神帮忙,非常感谢

    要求要有输入/输出交互类和对象继承控制语句排序/最值下面是一个继承范例publicclassGoodsSetting{publicstaticvoidmain(String[]args){Keyboa ...

  9. 用Qt写一个简单的音乐播放器(五):歌曲播放时间显示

    一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...

最新文章

  1. 一个切割PDF文件的简单的方法 -只需要chrome浏览器
  2. 初学jQuery之jQuery虚假购物车-------与真实数据无关
  3. java.lang.String 的 + 号操作,这个谜终于要解开了!
  4. List集合的remove一个对象的方法
  5. golang atomic load 性能_设计模式之Golang单例模式
  6. 看从小自带BUFF的他,如何用代码降低万物互联的门槛
  7. 文件操作,列表实例NiceHexSpiral
  8. Linux如何搭建Java部署环境
  9. shedlock源码解析
  10. OutputDebugString输出调试信息
  11. mysql获取ddl的语句,获取数据库或SHEME的DDL语句
  12. Xv6 traps and system calls
  13. 年度盘点和预测:数说汽车互联网市场
  14. 剪枝计算机,α-β剪枝 - 电脑黑白棋 - 黑白棋天地
  15. 如何使用 Yahoo! Finance stock API 获取股票数据
  16. JavaEE——作业管理系统期末总结
  17. Docker 安装 Nginx 容器 (完整详细版)
  18. DP:Miking Time(POJ 3616)
  19. AUTOCAD使用心得
  20. 责任链模式实现方式以及在业务中的运用

热门文章

  1. 国产手机会使用鸿蒙,小米等国产手机会使用鸿蒙系统吗?
  2. 致诸弟·明师益友虚心请教
  3. 第6周作业1-闰年之循环判断(网络131黄宇倩)
  4. JQuery图片抽奖
  5. 黑电行业越来越难,海信、TCL、创维、康佳、长虹急需破局
  6. PBOC规范研究之十 ---标准动态数据认证(转)
  7. contos7 配置 python3环境 支持微信公众号开发
  8. 数理统计基础-相关系数
  9. 题源报刊第三季--Lesson 3--Gender equality at work is a matter of respect,not just money
  10. selenium Gird