工作时用流排序后,发现个问题。
代码如:
复制代码
1list.stream().sorted(Comparator.comparing(XXX:getXX));
XXX:getXX 为字符串格式,由于该值为数字的字符串。即当集合里有11,2,这一类数字时,会将11排序在2之前。
该流方法并没有自带的进行判断,测试发现后即改为int类型进行比较
代码如:
复制代码
1
2
3
4
5
6
7
8
9
10
11list.sort((String x,String y)->Integer.valueOf(x).compareTo(Integer.valueOf(y))); 或 Collections.sort(list, new Comparator<String>() { @Override public int compare(String o1, String o2) { // TODO Auto-generated method stub return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); } });
也算是在字符串比较排序上面踩了个坑吧。
最后
以上就是清秀流沙最近收集整理的关于集合中根据String来判定元素的排序的全部内容,更多相关集合中根据String来判定元素内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复