实体对象集合中根据实体对象的某一属性进行大小排序
- 背景
- 代码实现
- 思路简述
- 效果图示
背景
今天我的领导跟我提了一个小小的建议,我觉得很不错。我有这么一个界面,显示的是小车的电量信息,界面很简单,简单的由listView控件展示数据。界面的小车电量信息是根据实时包获取得到的,所以数据源中的电量值大小显然不是有序排列的。但是我这边也没做处理,只要求查看电量信息,我就简单的只做了数据的展示,没有根据小车id大小或者是小车电量值大小进行排序并展示。
领导的建议说:我觉得这个列表的数据你可以根据小车的电量值大小进行排序,从上到下电量值按从小到大进行排序。这样方便查找出更低电量的小车,我觉得很有道理,于是做出调整。下面看我的实现方法。
代码实现
List<CarBatteryInfoEntity> orderList = new ArrayList<>();// 创建集合保存对实体对象某一属性进行大小排序后数据集/*** 根据电量值排序(由小到大)*/private void orderList() {orderList = tempList;// 先将需要排序的实体对象集合赋值给orderList集合int len = orderList.size();// 长度for (int i = 0;i < len;i++){for (int j = 0;j < len - (i + 1);j++){// 将较大电量值的实体对象向后移动if (orderList.get(j).getLaveBattery() > orderList.get(j+1).getLaveBattery()){// 获取j、j+1位置处的两个实体对象CarBatteryInfoEntity entityJ = new CarBatteryInfoEntity();entityJ.setRobotID(orderList.get(j).getRobotID());entityJ.setLaveBattery(orderList.get(j).getLaveBattery());entityJ.setVoltage(orderList.get(j).getVoltage());CarBatteryInfoEntity entityJ1 = new CarBatteryInfoEntity();entityJ1.setRobotID(orderList.get(j+1).getRobotID());entityJ1.setLaveBattery(orderList.get(j+1).getLaveBattery());entityJ1.setVoltage(orderList.get(j+1).getVoltage());// 交换一下位置orderList.remove(j);orderList.add(j, entityJ1);orderList.remove(j+1);orderList.add(j+1, entityJ);}}}}
思路简述
从集合中第一个实体对象开始,依次和集合中的后面的实体对象的电量值的大小进行对比。
如果第j个位置的实体对象的电量值大于第j+1个位置的实体对象的电量值,那么两个位置的实体对象进行互换。
让电量值更大的实体对象放在集合的后面位置,当所有的实体对象都比较完后,集合中最后一个位置的实体对象的电量值就是最大的了。
互换也很简单,先获取j位置和j+1位置的实体对象,然后集合先移除对象,再添加对象,就完成了互换。
效果图示
A little bit of progress every day!Come on!
实体对象集合中根据实体对象的某一属性进行大小排序相关推荐
- 对象集合中如何用对象的某个属性给对象排序?
这是在工作中遇到的一个问题.用到的持久层技术是mybatis-plus,它里面自带的条件对象wrapper,我们可以通过wrapper.orderByDesc()或者wrapper.orderByAs ...
- android中如何保存对象集合中,如何序列化对象并将其保存到Android中的文件?
沧海一幻觉 我只是用Generics创建了一个类来处理它,所以它可以用于所有可序列化的对象类型:public class SerializableManager { /** * Saves a ser ...
- 使用LINQ更新集合中的所有对象
有没有办法使用LINQ执行以下操作? foreach (var c in collection) {c.PropertyToSet = value; } 为了澄清,我想遍历集合中的每个对象,然后更新每 ...
- 集合中存储自定义对象源代码
集合中存储自定义对象: package attention;import java.util.ArrayList; import java.util.Collection; import java.u ...
- java基础—TreeSet集合中储存自定义对象(java集合二)
TreeSet集合中储存学生对象,按照其年龄进行排序 TreeSet对元素进行排序的方式一: 让元素自身具备比较功能,元素就需要实现Comparable接口,覆盖compareTo方法. TreeSe ...
- 本实例演示往TreeSet集合中存储自定义对象
1 package JiHe.Set; 2 3 import java.util.Iterator; 4 import java.util.TreeSet; 5 6 /* 7 * 本实例演示往Tree ...
- JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象
转载自:https://www.cnblogs.com/lindsayYang/p/9843599.html JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象 当前的需求 ...
- android 遍历实体类,Java中遍历实体类(处理MongoDB)
在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...
- List对象集合的遍历、对象赋值和向前台传递
List对象集合的遍历.对象赋值和向前台传递 在前几天的编程过程中,发现前台需要的数据不完整.从数据库查出来的字段不够,如果再多表联查或者左联会有我不想要的重复数据,而且会使SQL更加复杂,不利于维护 ...
最新文章
- 机器学习模型质量评价标准 — 精准率、召回率
- QT各种版本第三方下载地址
- 20+ 家标杆车企实践总结,数字化转型的秘诀都在这儿
- python爬虫-异常处理
- MySQL Event
- linux正向连接shell_[经验] Linux 怎么连接 Xshell?
- 交叉熵损失函数原理详解,KL散度
- java中的Servlet
- 如何在C++中产生随机数
- jetty:Address already in use: bind
- 了解数据库索引及其原理
- OpenPose 参数说明
- uniapp如何使用uview中的loadmore上拉加载
- python实现基于SIFT算法的图像配准(仿射变换)
- 2022年执法资格城管执法考试多选题专项训练题及答案
- CBM2198A - [2013-06-06]量产工具可用CBM2098_V6007工具解决
- 3D完整空间蛋白组学
- unity脚本学习3
- 中国联通3g上网设置
- 密码学认证协议名词解释,AKE,PKI,IBC,PKG,KGC,
热门文章
- Python去除特殊字符\xa0、u'\xe4等
- 笔记本电脑usb供电不足的解决方法
- 转载:中国这10家慕课网站,您需要知道!
- 海康威视SDK控制台程序consoleDemo获取码流
- 如何为安卓程序设置启动页面(splash)?
- 单片机串口接收数据的一些经验与教训
- 判断输入字符是否是字母c语言,用C语言编程:判断输入的一个字符是否为英文字母...
- ucl计算机教授汪军,UCL多智能体机器学习课程上线,计算机系教授汪军主讲
- Unity/VS/C#Unity工程加密授权开发---LicenseProj
- Android-垂直上下滚动的TextView