字符串的排序

数字的排序规则很简单,忽然想起字符串是怎么排序的呢?

               //集合中对String就行排序,
		String[] array = { "abc", "abcd", "abca", "abdb", "acd" };
		List<String> list =Arrays.asList(array);
		Collections.sort(list);
		list.forEach(a->System.out.print(a+"    "));

打印结果:abc abca abcd abdb acd 

  default void sort(Comparator<? super E> c) {
        Object[] a = this.toArray();
        Arrays.sort(a, (Comparator) c);
        ListIterator<E> i = this.listIterator();
        for (Object e : a) {
            i.next();
            i.set((E) e);
        }
    }

必须实现了Comparator接口,才能进行排序。


String的排序

使用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)

1、如果字符串相等返回值0

2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)

3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.


猜你喜欢

转载自blog.csdn.net/qq_35583089/article/details/80354863