当前位置: 首页 > news >正文

Arrays类练习 - Java

案例:自定义Book类,里面包含name和price,按price排序(从大到小)。要求使用两种方式排序,有一个 Book[] books= 4本书对象。
使用前面学习过的传递实现Comparator接口匿名内部类,也称为定制排序。可以按照price (1)从大到小〔2)从小到大(3)按照书名长度从大到小

public class ArrayExercise {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("青年文摘2023", 5);books[3] = new Book("java从入门到放弃", 300);//Arrays.sort(books, new Comparator() {// 这里是对Book数组排序,因此o1和o2就是Book对象@Overridepublic int compare(Object o1, Object o2) {Book book1 = (Book) o1;Book book2 = (Book) o2;double pdiff = book2.getPrice()-book1.getPrice();//这里进行了一个转换if(pdiff > 0) {//如果发现结果和我们输出的不一致,就修改一下返回的1和-1return -1;} else if(pdiff < 0) {return 1;} else {return 0;}}});System.out.println(Arrays.toString(books));}
}class Book {private String name;private int price;public Book(String name, int price) {this.name = name;this.price = price;}public int getPrice() {return price;}@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", price=" + price +'}';}
}

在这里插入图片描述

http://www.lryc.cn/news/254605.html

相关文章:

  • Java多线程:代码不只是在‘Hello World‘
  • 使用PCSS实现的实时阴影效果
  • 用于缓存一些固定名称的小组件
  • Python 读取电子发票PDF 转成Excel
  • 我的项目问题
  • 【c】杨辉三角
  • 算法刷题之数组篇
  • TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】
  • 1.1美术理论基础
  • 【Java 基础】21 多线程同步与锁
  • Python语言基础知识(一)
  • Xilinx FPGA平台DDR3设计详解(三):DDR3 介绍
  • 字典的遍历
  • Linux环境下的MySQL安装
  • 梦想与魔法:编程之路的挑战与荣耀
  • qt 5.15.2 主窗体菜单工具栏树控件功能
  • Day15——File类与IO流
  • 【Qt】QLineEdit显示输入十六进制,位数不足时按照规则填充显示及每两个字符以空格填充
  • GPT 中文提示词技巧:参照 OpenAI 官方教程
  • 原生微信小程序将字符串生成二维码图片
  • 深入理解HTTPS加密协议
  • 路径规划之PRM算法
  • 深入理解数据在内存中是如何存储的,位移操作符如何使用(能看懂文字就能明白系列)文章超长,慢慢品尝
  • ArcGIS提示当前许可不支持影像服务器
  • Android P 9.0 增加以太网静态IP功能
  • Android12之MediaCodec硬编解码调试手段(四十九)
  • 2.Ansible的copy模块,我最常用的模块
  • python程序将部分文件复制到指定目录
  • 5分钟教你利用服务器,打造1个 7*24H直播的直播间
  • 卡通渲染总结《二》