首先,新建一个list<String>集合
List<String> nums = new ArrayList<String>();
然后,向集合中添加级联信息比如:
nums.add("101");
nums.add("102");
nums.add("103");
nums.add("1011");
nums.add("1012");
nums.add("1021");
nums.add("1002");
nums.add("1003");
nums.add("1004");
nums.add("2001");
nums.add("10021");
nums.add("10022");
nums.add("10023");
nums.add("10031");
那么,怎么将添加的信息以级联的形式储存在数组中?
可以使用如下方法
Collections.sort(nums);
System.out.println(nums.toString());
通过Collections.sort方法就可以显示级联,结果:
*注意:结果是从小到大的顺序进行排列的
为什么101反而在1002之后呢,这要从sort方法开始找起
通过源码我们可以知道,sort方法里将list集合转换为object数组然后进行了Array.sort排序,再继续往里找
里面又调用了其他方法,再继续往里找
才发现string排序时使用了compareTo方法,那么这个compareTo方法是什么
进行string比对时,其实比对的是Unicode编码,所以我进行了如下测试
结果为1,所以t1>t2(从编码表的结果来看是t1>t2)
所以出现了如之前图所展示的序列