1. List 集合排序:实际上都是使用的Arrays的sort方法。
1.1. List集合里面的对象实现Comparable接口,这种排序方式比较固定,并且不易于扩展。
public class User1 implements Comparable<User1> {
private String username;
private String password;
private String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public int compareTo(User1 u) {
return this.getUsername().compareTo(u.getUsername());
}
}
1.2. 根据java.util.Collections.sort(List<User> list, Comparator<? super User> c)方法来override compare(T t1, T t2)这个方法,这种方式灵活,易于扩展。
public List<User> sortByDefault(List<User> userList) {
Collections.sort(userList, new Comparator<User>() {
@Override
public int compare(User user1, User user2) {
return user1.getUsername().compareTo(user2.getUsername());
}
});
return userList;
}
2. 一个给定值的对象集合List,我需要截取一定长度的子集合List:
2.1. 可以用for循环遍历等到自己想要的长度的subList.这种代码较多,性能开销也比较大。
public List<String> getSubList(List<String> supList, int limit) {
List<String> subList = new ArrayList<String>();
for (int i = 0; i < limit; i++) {
subList.add(supList.get(i));
}
return subList;
}
2.2. 可以用List的方法subList(fromIndex, toIndex)来得到想要长度的subList.
public List<String> getSubListByLimit(List<String> supList, int limit) {
return supList.subList(0, limit);
}