按照价格,书名长度从大到小或从小到大排序,使用自制排序
import java.util.Comparator;public class SortExercise02 {public static void main(String[] args) {Book[] books=new Book[4];books[0] = new Book("红楼梦", 100);books[1] = new Book("西游记新版", 90);books[2] = new Book("青年文摘", 5);books[3] = new Book("Java从入门到放弃", 300);sort01(books, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {double i1=(Double)o1;double i2=(Double)o2;int a1=(int) i1;int a2=(int) i2;return a1-a2;}});System.out.println("按照价格从低到高排序:");for (int i = 0; i < books.length; i++) {System.out.println(books[i]);}System.out.println("================");sort01(books, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {double i1=(Double)o1;double i2=(Double)o2;int a1=(int) i1;int a2=(int) i2;return a2-a1;}});System.out.println("按照价格从高到低排序:");for (int i = 0; i < books.length; i++) {System.out.println(books[i]);}System.out.println("==================");sort02(books, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {int i1=(Integer)o1;int i2=(Integer)o2;return i1-i2;}});System.out.println("按照书名长度从低到高排序:");for (int i = 0; i < books.length; i++) {System.out.println(books[i]);}System.out.println("==================");sort02(books, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {int i1=(Integer)o1;int i2=(Integer)o2;return i2-i1;}});System.out.println("按照书名长度从高到低排序:");for (int i = 0; i < books.length; i++) {System.out.println(books[i]);}}public static void sort01(Book[] books, Comparator comparator){Book temp=null;for (int i = 0; i < books.length-1; i++) {for (int j=0;j< books.length-1-i;j++){if (comparator.compare(books[j].getPrice(),books[j+1].getPrice())>0){temp=books[j];books[j]=books[j+1];books[j+1]=temp;}}}}public static void sort02(Book[] books, Comparator comparator){Book temp=null;for (int i = 0; i < books.length-1; i++) {for (int j=0;j< books.length-1-i;j++){if (comparator.compare(books[j].getName().length(),books[j+1].getName().length())>0){temp=books[j];books[j]=books[j+1];books[j+1]=temp;}}}} }class Book{private String name;private double price;public Book(String name, double price) {this.name = name;this.price = price;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", price=" + price +'}';} }
按照价格,书名长度从大到小或从小到大排序,使用自制排序相关推荐
- ibm v3700添加硬盘_机 · 科普帖丨从大到小又从小到大,硬盘这些年是怎么过来的...
硬盘作为电脑的存储媒介,自诞生起就有一段不凡的经历,硬盘既提供电脑需要处理的数据,也保存电脑的处理数据的结果,硬盘不是电脑的灵魂,但却是无法舍弃的躯体.今天ALIENWARE就为玩家科普一下,有着64 ...
- php 从大到小显示,vue.js,javascript_Vue 在列表渲染的时候,能排序显示么。 比如按价格从大到小排序,vue.js,javascript - phpStudy...
Vue 在列表渲染的时候,能排序显示么. 比如按价格从大到小排序 // json { "data": [ { "name": "山鹰登山社" ...
- arraylist从大到小排序_JAVA零基础入门课程笔记----数组排序
一.什么是数组 * 数组是一个变量,存储相同数据类型的一组数据: * 声明一个变量就是在内存空间划出一块合适的空间 * 声明一个数组就是在内存空间划出一串连续的空间 二.数组的基本要素 标识符:数组的 ...
- java 一千万数字排序_java 输入任意几个数字,怎样将他们从大到小排序?
展开全部 public static void main(String[] args) { Scanner scan = new Scanner(System.in).e68a84e8a2ad3231 ...
- python range从大到小排列_python 十大经典排序算法
人生苦短,我用python! 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.常见的内部排序 ...
- arraylist从大到小排序_经典排序方法的python实现和复杂度分析
1.冒泡排序: 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数 ...
- python选择排序从大到小_Python实现选择排序
一.选择排序简介 选择排序(Selection sort)是一种简单直观的排序算法.选择排序首先从待排序列表中找到最小(大)的元素,存放到元素列表的起始位置(与起始位置进行交换),作为已排序序列,第一 ...
- 基于大中台小前台模式设计高并发电商架构
孙玄 读完需要 8 分钟 速读仅需 3 分钟 孙玄,奈学教育创始人,曾任 58 集团技术委员会主席.转转首席架构师,一头飘逸长发,江湖人称"玄姐". 1 什么是大中台(业务中台.数 ...
- 冒泡排序 实现数据的由大到小排序
操作要求 定义长度为6的整数数组 编写冒泡排序算法,实现数据由大到小的排序
最新文章
- C功底挑战Java菜鸟入门概念干货(一)
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'rtjhyt' in 'field list'
- linux中html的图片显示不出来,如何在HTML中显示原始的rgb图像
- [administrative] windows 下制作USB启动盘的工具
- leetcode算法题--分隔链表★
- jquery 查询元素技巧
- 冲突、冲突域、广播、广播域、洪泛的基本概念
- 基于Linux的嵌入式文件系统构建与设计
- 如何快速将文件中的空格更换成逗号(图文详解)
- php实现的进度条功能示例,PHP 进度条函数的简单实例
- Atitit atitit 编程语言之道补充 s22 attilax 艾龙 著 1. 程序设计是个什么概念呢?历史发展	1 1.1. 连接电缆	2 1.2. 程序内置纸带打点	2 1.3. FORT
- SpreadJS V15.0 Update2 新特性一览
- 线性代数笔记5——平面方程与矩阵
- DongTai--被动型IAST工具部署体验
- vue3 解决getCurrentInstance 打包后线上环境报错问题
- java中入参_JAVA传参
- Windows API 关于控件的自绘——文本颜色、背景颜色、字体
- C语言----隐藏代码文件
- 使用PE启动U盘安装pfSense
- 智慧街道空间导引及创新平台