对于list中单一元素排列方式:
利用Collections.sort()方法进行排序。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class T {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("92.8");
list.add("68.9");
list.add("168.61");
list.add("242");
list.add("317");
list.add("105");
// 字符串排序
Collections.sort(list);
System.out.println(list.toString()); // [105, 168.61, 242, 317, 68.9, 92.8]
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return new Double((String) o1).compareTo(new Double((String) o2));
}
});
System.out.println(list.toString()); // [68.9, 92.8, 105, 168.61, 242, 317]
}
}
对于list中对象元素,按指定元素属性排列
首先定义object对象。
public class 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;
}
}
根据User中的order进行排序。
public class Test{
public static void main(String[] args) {
//添加List对象记录user1和user2,两条记录
User user1 = new User();
user1.setName("a");
user1.setOrder(1);
User user2 = new User();
user2.setName("b");
user2.setOrder(2);
List list = new ArrayList ();
list.add(user2);
list.add(user1);
//对list进行排序,按照order属性,进行“升序”排序
Collections.sort(list,new Comparator(){
public int compare(User a0, User a1) {
int A0 = a0.getOrder();
int A1 = a1.getOrder();
return A0.compareTo(A1); //升序排列
// return A1.compareTo(A0); //降序排列
}
});
for(User u : list){
System.out.println(u.getName());
}
}
}
输出结果为:
a
b