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

List小练习,实现添加图书,并且有序遍历

 @SuppressWarnings({"all"})public static void main(String[] args) {List list = new LinkedList();
//        List list = new Vector();
//        List list = new ArrayList();list.add(new Book1("红楼小梦",35.5,"曹雪芹"));list.add(new Book1("霸王别姬",98.5,"张艺谋"));list.add(new Book1("一代妖姬",30.5,"未知"));list.add(new Book1("前任三传",32.5,"郑恺"));for (Object o :list) {System.out.println(o);}Bubble(list);System.out.println("=========排序后:========");for (Object o :list) {System.out.println(o);}}//冒泡排序public static void Bubble(List list){for (int i = 0; i < list.size()-1; i++){for (int j = 0; j < list.size()-i-1; j++) {Book1 book1 = (Book1) list.get(j);Book1 book2 = (Book1) list.get(j+1);if(book1.getPrice()> book2.getPrice()){list.set(j,book2);list.set(j+1,book1);}}}}
}
class Book1{private String name;private double price;private String author;@Overridepublic String toString() {return "名称:" +name +"\t\t价格:" + price +"\t\t作者:" + author;}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;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public Book1(String name, double price, String author) {this.name = name;this.price = price;this.author = author;}

传送门:为什么这里不需要中间变量就可以直接使用冒泡排序? 

为什么不懂wb​​​​​​​list.set交换数据需要(or不需要)添加其他中间变量,两个例子告诉你-CSDN博客 

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

相关文章:

  • 代码随想录二刷 Day42
  • 【Android】Drawable 和src 的区别和理解
  • Linux网络-UDP/TCP协议详解
  • C语言从入门到高级
  • 【MultiOTP】在Linux上使用MultiOTP进行SSH登录
  • 性能超越 Clickhouse | 物联网场景中的毫秒级查询案例
  • 05、SpringBoot 集成 RocketMQ
  • PR2023中如何导入字幕
  • 读书笔记--华为数据之道有感
  • 汽车数据安全事件频发,用户如何保护隐私信息?
  • Redis主从复制流程
  • 微信公众号如何变更为订阅号?
  • 竞赛选题 深度学习YOLO抽烟行为检测 - python opencv
  • mysql利用mysqldump方式搭建主从
  • 如何保护IP在线隐私,提高网络安全?
  • 掌握 C++ 编译过程:面试中常见问题解析
  • 了解Qt QScreen的geometry ,size
  • 云安全—云计算基础
  • 【ARM Coresight Debug 系列 16 -- Linux 断点 BRK 中断使用详细介绍】
  • Rust星号(*)的作用-基础篇
  • 企业该如何选择数字化转型工具?
  • element ui 中 el-button重新渲染后disabled属性失效
  • WebRTC AIMD算法用处
  • 迁移kubelet、docker和containerd工作目录
  • Go 重构:尽量避免使用 else、break 和 continue
  • Unity3D 程序员常用的核心类及方法详解
  • 76.C++ STL list容器
  • 使用FreeMarker导出word文档(支持循环导出实时多张图片)
  • Evaluating Open-Domain Question Answering in the Era of Large Language Models
  • 基于安卓Android的掌上酒店预订APP