对List集合中的元素(String类型)进行排序
以下是一个完整的代码实现:
public class StringSort {
public static void main(String[] args) {
//创建ArrayList集合对象
List<String> al = new ArrayList<>();
//往集合里添加数据
al.add("♠5");
al.add("♠2");
al.add("♠8");
al.add("♠K");
al.add("♦5");
al.add("♦9");
al.add("♦3");
//通过匿名类,多态的形式重写compare()方法。
//要掌握Collections,这是一个具体的类,要区别于Collection(是一个集合接口)
Collections.sort(al, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
for (String s : al) {
System.out.println(s + " ");
}
}
}
代码实现说明:
调用了Collections类的静态sort()方法,该方法有两个参数,第一个参数是LIst集合(该集合里面的元素是要比较的对象),第二个参数是一个比较器对象,重写了compare()方法,该方法返会一个int型的值,从而实现对元素大小的比较。
方法体中调用了String类的compareTo()方法,java中的String类的compareTo方法,返回参与比较的前后两个字符串的asc码的差值。