Collections 未对字符串执行树集排序
这可能看起来是一个乏味的问题,而且与 我有一棵树Collections 未对字符串执行树集排序,collections,treeset,Collections,Treeset,这可能看起来是一个乏味的问题,而且与 我有一棵树 TreeSet<String> ts=new TreeSet<String>(String.CASE_INSENSITIVE_ORDER); ts.add("D1"); ts.add("D9"); ts.add("D5"); ts.add("D3"); ts.add("D8"); 但如果我在“D”上加上两位数 我知道 Tree set :
TreeSet<String> ts=new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
ts.add("D1");
ts.add("D9");
ts.add("D5");
ts.add("D3");
ts.add("D8");
但如果我在“D”上加上两位数
我知道
Tree set :: [D1, D11, D13, D17, D18, D3, D5, D8, D9]
这不正确……请帮忙 排序按字母顺序执行-所有1(1)都在3之前,然后是5、8、9
如果您想进行数字排序,您需要实现自己的比较器。我觉得这似乎是正确的。首先考虑第一个字符进行排序,然后考虑第二个字符。。。
ts.add("D1");
ts.add("D9");
ts.add("D5");
ts.add("D3");
ts.add("D8");
ts.add("D11");
ts.add("D18");
ts.add("D17");
ts.add("D13");
Tree set :: [D1, D11, D13, D17, D18, D3, D5, D8, D9]