最近的项目在用Guava这个类库,好吧,之前项目经历都没有用过。看看提供的API文档又觉得有些想看的又不明确。只好自己摸索试试看。
public class GuavaTester {
public static void main(String args[]){
Ordering<User> ordering_user = Ordering.compound(
Arrays.asList(
(u1,u2)->u1.getName().compareTo(u2.getName()),
(u1,u2)->u1.getAddress().compareTo(u2.getAddress())
)
);
List<User> users = new ArrayList<>();
User u1 = new User();
u1.setAddress("u1A");
u1.setName("ZCL");
users.add(u1);
u1 = new User();
u1.setAddress("u2A");
u1.setName("XEL");
users.add(u1);
u1 = new User();
u1.setAddress("u1A");
u1.setName("XEL");
users.add(u1);
System.out.println(users);
Collections.sort(users, ordering_user);
System.out.println(">>>>>>>>>>>>>>>>>>>复合排序后>>>>>>>>>>>>>>>>>>>>>>>>>>");
System.out.println(users);
}
}
class User{
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [name=" + name + ", address=" + address + "]";
}
}