java set 对象排序_【java】实体类中 Set<对象> 按照对象的某个字段对set排序

Java利用hibernate进行一对多查询时,把另一张表作为一个属性存进这张表的字段中,返回的类型是set类型,要对返回的set类型进行排序

user表

package onlyfun.caterpillar;

public class User {

private Long id;

private String name;

public User() {}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

room表:

package onlyfun.caterpillar;

import java.util.Set;

public class Room {

private Long id;

private String address;

private Set users = new HashSet();

private List user;

public Room() {}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public Set getUsers() {

return users;

}

public void setUsers(Set users) {

this.users = users;

}

@Transient

public List getUser() {

user= new ArrayList(users);

Collections.sort(user, new Comparator() {

@Override

public int compare(User o1, User o2) {

return o1.getId()

}

});

return user;

}

public void setUser(List user) {

this.user= user;

}

}

在room实体中加一个List用来装将Set按照自己的想法排序之后的结果在使用的地方直接取List里面的值即可。

把private Set users = new HashSet();查询出来的数据放到List

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值