Java对象数组按照其属性排序的方法
问题描述:
开发时我们希望用一个类表示某种物品, 用其域来描述物品的特性,
当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序
也就是需要对象数组按照其属性排序
一 类定义时实现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对象数组按照其属性排序的方法相关推荐
- python将对象放入列表根据某个属性排升序_python实现对象列表根据某个属性排序的方法详解...
本文实例讲述了python实现对象列表根据某个属性排序的方法.分享给大家供大家参考,具体如下: 对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的 ...
- angular8实现对象数组根据某个属性排序(多个也可以)
代码中col是传进来的对象的属性名 toLowerCase()将字符串转换为小写. arrayInfos是数组,存储的是对象 这里我是配上一个上下切换的箭头使用的,点击切换上下方向并且排序 sort方 ...
- python将对象放入列表根据某个属性排升序_对python 对象列表根据某个属性排序的方法...
对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的情况下,需要自己选择特定的排序,也就是根据某一个具体的属性来排序,在网上找了下资料,一般来说有两 ...
- 递归实现对多层嵌套的对象数组依照某属性进行排序
<script>//开发中如果需要对多层嵌套的对象数组依照某个属性进行排序,可以使用递归的方法实现//比如需要对数组里面每一层的importSum属性值进行排序const arr = [{ ...
- json 解析 转java对象数组对象数组对象_json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
- java 对象数组定义_Java对象数组定义与用法详解
本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据 ...
- java中英文汉语混合排序_Java编程实现中英混合字符串数组按首字母排序的方法...
本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法.分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷 ...
- js计算对象数组中某个属性合计
js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...
- 查找对象数组中某属性的最大最小值
查找对象数组中某属性的最大最小值的快捷方法 例如要查找array数组中对象的value属性的最大值,这里记为maxVal var array=[{"index_id": 119,& ...
最新文章
- 支付宝能扫码闪电开发票了!人均省时3分钟
- 谷歌浏览器没法安装插件,提示程序包无效
- 显著改善分割预测,ETH开源基于情景图储存网络的视频目标分割|ECCV2020
- 转自他人——————TLE之前,没有一个节点叫失败!!!
- 编程语言难度排名_编程语言TOP10!该如何选择适合自己的?
- (多源转化成单源dijsktra)一个人的旅行
- opencv for java HoughLinesP的使用
- android computescroll_Android Scroller与computeScroll的调用机制关系
- 复变函数在计算机科学中的应用,复变函数的应用以及发展史.doc
- Java毕业设计-漫画管理系统
- [转]一淘网是如何实现系统架构的
- 字体图标的引入和使用-svg是个好东西
- 常用的CSSreset
- 2010年工程硕士GCT考试应试策略
- 游戏编程之十一 图像页CPICPAGE介绍
- 方形平板振动克拉尼图形可视化计算MATLAB程序(Chladni Patterns)
- 【Linux操作】使用zip 压缩命令打包程序为.zip压缩包并进行解压缩
- 分析《家园2》《家园》的低效原因
- 迪杰斯特拉算法——最短路径
- 第52章 房地产投资面面观
热门文章
- TCP的长连接和短连接
- python dfs算法_LeetCode | 一文帮你搞定BFS、DFS算法(python版)
- Android源码解析--超好看的下拉刷新动画
- netlink学习笔记(一)
- python web开发框架比较
- C# 将同一个DataTable复制多份到DataSet中,并对部分Table进行排序
- mathtype公式中特殊符号word无法正常显示
- java控制 灯_用Java控制小电灯-树莓派PI4J
- 【前端工程化】深入浅出vite(二)--vue3全家桶+ts构建后管系统
- ddos攻击和cc攻击的区别