public class Test4 {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("b");
list1.add("f");
list1.add("e");
list1.add("c");
list1.add("a");
list1.add("d");
sort1(list1);
System.out.println(list1); // 要求排序结果a, b, c, d, e, f
}
private static void sort1(List<String> list1) {//排序方法
String[] str = new String[list1.size()];//创建了两个数组,一个String类型,一个char类型
char[] arr = new char[list1.size()];//大小都是和list1的大小相同
for (int i = 0; i <list1.size(); i++) {//从集合list中获取各个字符串
str[i] = list1.get(i); //获取字符串存在String类型数组str中
arr[i] = str[i].charAt(0);//获取字符串中的单个字符存在arr中
}
for (int i = 0; i < arr.length-1; i++) {//冒泡法进行排序
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]){//比较字符,在集合中进行交换排序
String str1 = list1.get(j);
String str2 = list1.get(j+1);
list1.set(j, str2);
list1.set(j + 1, str1);
}
}
}
} |
|