- java list 排序:按照元素的屬性進行排序
1.方法一:
元素實現(xiàn)Comparable接口
public class User implements Comparable<User>{
private String name;
private Integer order;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
public int compareTo(User arg0) {
return this.getOrder().compareTo(arg0.getOrder());
}
}
然后就可以直接調(diào)用:
List<User> list = new ArrayList<User>();
//此處add user2再add user1
list.add(user2);
list.add(user1);
Collections.sort(list);
for(User u : list){
System.out.println(u.getName());
}
這種方法已經(jīng)將比較的屬性固定寫死了,只能比較一種屬性。
2.方法二:重載Collections.sort方法:
Collections.sort(procInfos,new Comparator<RunningAppProcessInfo>(){
@Override
public int compare(RunningAppProcessInfo lhs, RunningAppProcessInfo rhs) {
return Integer.compare(lhs.pid, rhs.pid);
}
});
根據(jù)重載方法中比較的屬性不同,可以根據(jù)不同的屬性排序。
這里pid是int型,所以使用的Integer.compare方法,相似的方法有:
Double.compare,Float.compare,Character.compare等。
TextView添加滾動條
mTextview.setMovementMethod(new ScrollingMovementMethod());