• 背景
  • 代码实现
  • 思路简述
  • 效果图示

背景

今天我的领导跟我提了一个小小的建议,我觉得很不错。我有这么一个界面,显示的是小车的电量信息,界面很简单,简单的由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!

实体对象集合中根据实体对象的某一属性进行大小排序相关推荐

  1. 对象集合中如何用对象的某个属性给对象排序?

    这是在工作中遇到的一个问题.用到的持久层技术是mybatis-plus,它里面自带的条件对象wrapper,我们可以通过wrapper.orderByDesc()或者wrapper.orderByAs ...

  2. android中如何保存对象集合中,如何序列化对象并将其保存到Android中的文件?

    沧海一幻觉 我只是用Generics创建了一个类来处理它,所以它可以用于所有可序列化的对象类型:public class SerializableManager { /** * Saves a ser ...

  3. 使用LINQ更新集合中的所有对象

    有没有办法使用LINQ执行以下操作? foreach (var c in collection) {c.PropertyToSet = value; } 为了澄清,我想遍历集合中的每个对象,然后更新每 ...

  4. 集合中存储自定义对象源代码

    集合中存储自定义对象: package attention;import java.util.ArrayList; import java.util.Collection; import java.u ...

  5. java基础—TreeSet集合中储存自定义对象(java集合二)

    TreeSet集合中储存学生对象,按照其年龄进行排序 TreeSet对元素进行排序的方式一: 让元素自身具备比较功能,元素就需要实现Comparable接口,覆盖compareTo方法. TreeSe ...

  6. 本实例演示往TreeSet集合中存储自定义对象

    1 package JiHe.Set; 2 3 import java.util.Iterator; 4 import java.util.TreeSet; 5 6 /* 7 * 本实例演示往Tree ...

  7. JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象

    转载自:https://www.cnblogs.com/lindsayYang/p/9843599.html JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象 当前的需求 ...

  8. android 遍历实体类,Java中遍历实体类(处理MongoDB)

    在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...

  9. List对象集合的遍历、对象赋值和向前台传递

    List对象集合的遍历.对象赋值和向前台传递 在前几天的编程过程中,发现前台需要的数据不完整.从数据库查出来的字段不够,如果再多表联查或者左联会有我不想要的重复数据,而且会使SQL更加复杂,不利于维护 ...

最新文章

  1. 机器学习模型质量评价标准 — 精准率、召回率
  2. QT各种版本第三方下载地址
  3. 20+ 家标杆车企实践总结,数字化转型的秘诀都在这儿
  4. python爬虫-异常处理
  5. MySQL Event
  6. linux正向连接shell_[经验] Linux 怎么连接 Xshell?
  7. 交叉熵损失函数原理详解,KL散度
  8. java中的Servlet
  9. 如何在C++中产生随机数
  10. jetty:Address already in use: bind
  11. 了解数据库索引及其原理
  12. OpenPose 参数说明
  13. uniapp如何使用uview中的loadmore上拉加载
  14. python实现基于SIFT算法的图像配准(仿射变换)
  15. 2022年执法资格城管执法考试多选题专项训练题及答案
  16. CBM2198A - [2013-06-06]量产工具可用CBM2098_V6007工具解决
  17. 3D完整空间蛋白组学
  18. unity脚本学习3
  19. 中国联通3g上网设置
  20. 密码学认证协议名词解释,AKE,PKI,IBC,PKG,KGC,

热门文章

  1. Python去除特殊字符\xa0、u'\xe4等
  2. 笔记本电脑usb供电不足的解决方法
  3. 转载:中国这10家慕课网站,您需要知道!
  4. 海康威视SDK控制台程序consoleDemo获取码流
  5. 如何为安卓程序设置启动页面(splash)?
  6. 单片机串口接收数据的一些经验与教训
  7. 判断输入字符是否是字母c语言,用C语言编程:判断输入的一个字符是否为英文字母...
  8. ucl计算机教授汪军,UCL多智能体机器学习课程上线,计算机系教授汪军主讲
  9. Unity/VS/C#Unity工程加密授权开发---LicenseProj
  10. Android-垂直上下滚动的TextView