public static void sort1(List<String> list) {
//集合排序工具传入一个比较器
for (int i = 0; i < list.size() - 1; i++) {
int indexMax = i;
for (int j = i + 1; j < list.size(); j++) {
String s1 = list.get(i);
String s2 = list.get(j);
char c1 = s1.toCharArray()[0];
char c2 = s2.toCharArray()[0];
if (c1 > c2) {
indexMax = j;
}
}
//交换位置
change(list, i , indexMax);
}
}
public static void change(List<String> list, int i, int indexMax) {
String temp = list.remove(indexMax);
list.add(indexMax - 1, list.get(i));
list.remove(i);
list.add(i, temp);
}
小小丶白 发表于 2016-8-17 10:04
public static void sort1(List l) {
//集合排序工具传入一个比较器
无标题.png (223.21 KB, 下载次数: 18)
无标题.png (223.21 KB, 下载次数: 20)
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("b");
list.add("f");
list.add("e");
list.add("c");
list.add("a");
list.add("d");
Collections.sort(list); //Collections工具类直接排序
System.out.println(list);//[a, b, c, d, e, f]
//要是不要[],继续往下走,做字符串拼接
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (i == list.size() - 1) {
sb.append(list.get(i));
}else{
sb.append(list.get(i)+", ");
}
}
System.out.println(sb);//a, b, c, d, e, f
}
IT军犬 发表于 2016-8-17 11:54
collection里有sort么?
水月灬清影 发表于 2016-8-17 12:10
Collection 和 Collections是两码事。对于你这道题来说,不自定义比较器就可以实现,如果是对一系列对象 ...
水月灬清影 发表于 2016-8-17 12:10
Collection 和 Collections是两码事。对于你这道题来说,不自定义比较器就可以实现,如果是对一系列对象 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |