Java实体类中Set按照对象的某个字段对set排序

 更新时间:2019年06月26日 09:50:42   作者:Angel挤一挤  
这篇文章主要介绍了Java实体类中Set按照对象的某个字段对set排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

背景:

User实体类 有个属性是 Set<PositionChange> 职位变更字段

如下:

PositionChange实体类 有个属性是positionStartDate 什么时候开始任职此职务的字段

现在有一个需求,想在查询出 User这个对象的时候 ,可以获取到 Set<PositionChange>中 用户最新任职的一条岗位记录,也就是展示当前用户所处的岗位信息。

但是,Set始终的无序的,想要取出Set中PositionChange的positionStartDate时间最新的一条,并且是在 取出User的时候 直接就是好的 我直接拿来用就行了

需求介绍完毕

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

解决途径: 在User实体中 新设置一个List<PositionChange> 用来装将Set按照自己的想法排序之后的结果

在使用的地方 直接取List里面的值即可。

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* User 用户
*/
@Entity
@Table(name = "user", catalog = "performance")
@JsonIgnoreProperties(value={"workaffs"})
public class User implements java.io.Serializable {
private Set<Positionchange> positionchanges = new HashSet<Positionchange>(0);//岗位变动表
private List<Positionchange> positionChanges ;//新设置的List<>
//不让hibernate认为这是数据库的字段
@Transient
public List<Positionchange> getPositionChanges() {
positionChanges = new ArrayList<Positionchange>(positionchanges);
Collections.sort(positionChanges, new Comparator<Positionchange>() {
@Override
public int compare(Positionchange o1, Positionchange o2) {
return o1.getPositionStartDate().after(o2.getPositionStartDate()) ? -1 : 1;
}
});
return positionChanges;
}
public void setPositionChanges(List<Positionchange> positionChanges) {
this.positionChanges = positionChanges;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 引入SpringCloud-gateway报错的解决方案

    引入SpringCloud-gateway报错的解决方案

    这篇文章主要介绍了引入SpringCloud-gateway报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 深入理解Java强依赖和弱依赖

    深入理解Java强依赖和弱依赖

    本文主要介绍了深入理解Java强依赖和弱依赖,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • 详解Java中@Override的作用

    详解Java中@Override的作用

    这篇文章主要介绍了详解Java中@Override的作用的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下
    2017-10-10
  • Java中数字黑洞实现代码

    Java中数字黑洞实现代码

    这篇文章主要介绍了Java编程中如何实现数字黑洞算法游戏,其中涉及到了数组、scanner、if语句等Java编程的基础知识,需要的朋友可以参考下
    2017-09-09
  • java实现二维码生成功能详细示例

    java实现二维码生成功能详细示例

    这篇文章主要给大家介绍了关于java实现二维码生成功能的相关资料,随着信息化时代的到来,二维码作为一种信息传递的工具,越来越受到人们的欢迎,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Java注解之Repeatable解读

    Java注解之Repeatable解读

    这篇文章主要介绍了Java注解之Repeatable,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java计算集合对称差的示例代码

    java计算集合对称差的示例代码

    本篇文章主要介绍了java计算集合对称差的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • spring事物传播propagation类别含义详解

    spring事物传播propagation类别含义详解

    这篇文章主要介绍了spring事物传播propagation类别含义详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java 中内部类的实例详解

    java 中内部类的实例详解

    这篇文章主要介绍了java 中内部类的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • java两种单例模式用法分析

    java两种单例模式用法分析

    这篇文章主要介绍了java两种单例模式用法,结合实例形式对比分析了java实现单例模式的两种常见技巧,需要的朋友可以参考下
    2016-08-08

最新评论