问题描述:

开发时我们希望用一个类表示某种物品, 用其域来描述物品的特性,

当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序

也就是需要对象数组按照其属性排序

一 类定义时实现Comparable接口,定义自身的比较算法。

要排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,

所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序

自定义比较算法也就是实现Comparable接口:(会自动生成需要自己写的方法如下图)

补全类:

public class Good implements Comparable<Good>
{String name;int price;public Good(String name,int price) {this.name=name;this.price=price;}@Overridepublic int compareTo(Good good) {// TODO Auto-generated method stubreturn this.price-good.price;}}

调用Collections.sort();

public static void main(String[] args) {ArrayList<Good> goods = new ArrayList<Good>();goods.add(new Good("二", 2));goods.add(new Good("三", 3));goods.add(new Good("一", 1));System.out.println("排序前:");for (Good good : goods)System.out.println("姓名:"+good.name+" 价格:"+good.price);Collections.sort(goods);System.out.println("排序后:");for (Good good : goods)System.out.println("姓名:"+good.name+" 价格:"+good.price);}

内容参考如下博主:

https://blog.csdn.net/wangtaocsdn/article/details/71500500

https://www.cnblogs.com/ygj0930/p/5950971.html

Java对象数组按照其属性排序的方法相关推荐

  1. python将对象放入列表根据某个属性排升序_python实现对象列表根据某个属性排序的方法详解...

    本文实例讲述了python实现对象列表根据某个属性排序的方法.分享给大家供大家参考,具体如下: 对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的 ...

  2. angular8实现对象数组根据某个属性排序(多个也可以)

    代码中col是传进来的对象的属性名 toLowerCase()将字符串转换为小写. arrayInfos是数组,存储的是对象 这里我是配上一个上下切换的箭头使用的,点击切换上下方向并且排序 sort方 ...

  3. python将对象放入列表根据某个属性排升序_对python 对象列表根据某个属性排序的方法...

    对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的情况下,需要自己选择特定的排序,也就是根据某一个具体的属性来排序,在网上找了下资料,一般来说有两 ...

  4. 递归实现对多层嵌套的对象数组依照某属性进行排序

    <script>//开发中如果需要对多层嵌套的对象数组依照某个属性进行排序,可以使用递归的方法实现//比如需要对数组里面每一层的importSum属性值进行排序const arr = [{ ...

  5. json 解析 转java对象数组对象数组对象_json字符串转java对象数组

    需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...

  6. java 对象数组定义_Java对象数组定义与用法详解

    本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据 ...

  7. java中英文汉语混合排序_Java编程实现中英混合字符串数组按首字母排序的方法...

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法.分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷 ...

  8. js计算对象数组中某个属性合计

    js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...

  9. 查找对象数组中某属性的最大最小值

    查找对象数组中某属性的最大最小值的快捷方法 例如要查找array数组中对象的value属性的最大值,这里记为maxVal var array=[{"index_id": 119,& ...

最新文章

  1. 支付宝能扫码闪电开发票了!人均省时3分钟
  2. 谷歌浏览器没法安装插件,提示程序包无效
  3. 显著改善分割预测,ETH开源基于情景图储存网络的视频目标分割|ECCV2020
  4. 转自他人——————TLE之前,没有一个节点叫失败!!!
  5. 编程语言难度排名_编程语言TOP10!该如何选择适合自己的?
  6. (多源转化成单源dijsktra)一个人的旅行
  7. opencv for java HoughLinesP的使用
  8. android computescroll_Android Scroller与computeScroll的调用机制关系
  9. 复变函数在计算机科学中的应用,复变函数的应用以及发展史.doc
  10. Java毕业设计-漫画管理系统
  11. [转]一淘网是如何实现系统架构的
  12. 字体图标的引入和使用-svg是个好东西
  13. 常用的CSSreset
  14. 2010年工程硕士GCT考试应试策略
  15. 游戏编程之十一 图像页CPICPAGE介绍
  16. 方形平板振动克拉尼图形可视化计算MATLAB程序(Chladni Patterns)
  17. 【Linux操作】使用zip 压缩命令打包程序为.zip压缩包并进行解压缩
  18. 分析《家园2》《家园》的低效原因
  19. 迪杰斯特拉算法——最短路径
  20. 第52章 房地产投资面面观

热门文章

  1. TCP的长连接和短连接
  2. python dfs算法_LeetCode | 一文帮你搞定BFS、DFS算法(python版)
  3. Android源码解析--超好看的下拉刷新动画
  4. netlink学习笔记(一)
  5. python web开发框架比较
  6. C# 将同一个DataTable复制多份到DataSet中,并对部分Table进行排序
  7. mathtype公式中特殊符号word无法正常显示
  8. java控制 灯_用Java控制小电灯-树莓派PI4J
  9. 【前端工程化】深入浅出vite(二)--vue3全家桶+ts构建后管系统
  10. ddos攻击和cc攻击的区别