利用Sort()方法进行排序
2017-11-06 14:15
246 查看
使用Sort()方法,就需要使用到Comparator比较器,但是他的写法有多种
直接调用Collections.sort()方法,其中list为要排序的集合,new Comparator()为迭代器与比较方法。
当要比较的集合是实体类时,可以实现实现IComparable接口
针对hashMap的key,value进行排序
总结,以上就是利用Sort()进行相关排序的问题,值得注意的就是IComparable比较器接口的调用,然后就是里面的比较项。
直接调用Collections.sort()方法,其中list为要排序的集合,new Comparator()为迭代器与比较方法。
List<String> list = new ArrayList<String>(); Collections.sort(list, new Comparator() { public int compare(final Object a, final Object b) { final Object arra = (Object) a; final Object arrb = (Object) b; final int one = Integer.parseInt(arra + ""); final int two = Integer.parseInt(arrb + ""); return two - one; } });
当要比较的集合是实体类时,可以实现实现IComparable接口
public class A implements Comparable<A>{ /** 序号 **/ private int num; /**要点提示**/ private String tip; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getTip() { return tip; } public void setTip(String tip) { this.tip = tip; } @Override public int compareTo(A other) { final int one = this.getNum(); final int two = other.getNum(); return two - one; } } List<A> list = new ArrayList<A>(); list.Sort();
针对hashMap的key,value进行排序
Map<String, Integer> map = new HashMap<String, Integer>(); map.put("d", 2); map.put("c", 1); map.put("b", 1); map.put("a", 3); List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); //排序前 for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } //d 2 //c 1 //b 1 //a 3 //排序 Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { //return (o2.getValue() - o1.getValue()); return (o1.getKey()).toString().compareTo(o2.getKey()); } }); //排序后 for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } //根据key排序 //a 3 //b 1 //c 1 //d 2 //根据value排序 //a 3 //d 2 //b 1 //c 1
总结,以上就是利用Sort()进行相关排序的问题,值得注意的就是IComparable比较器接口的调用,然后就是里面的比较项。
相关文章推荐
- javascript 利用Array的sort方法,对Array进行排序 (Array里面放的是对象而不是字符串)
- JAVA 利用Arraylist.sort()进行排序的实现。(comparable接口的实现)
- 使用sort方法对数组进行排序(split()出现错误的解决)
- 数组与集合的应用之数组排序与查询(使用Sort方法对数组进行排序)
- 排序例子2:使用sort()方法对数组进行排序
- 使用sort方法对数组进行排序
- Java-Collections的sort方法对list进行排序
- 利用sort进行排序
- Java集合中List的Sort()方法进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- 利用数组的Sort方法实现表格点击排序
- 用sort()方法对值类型进行排序
- [ActionScript 3.0] 对数组中的元素进行排序Array.sort()的方法
- java list集合使用Collections中的sort方法进行排序(Comparator),超实用
- 利用sort()对结构体数组进行排序
- C#利用GetFiles方法取得文件,结合Array.Sort来排序文件列表顺序
- JavaScript中用sort()方法对数组元素进行排序的操作
- JQuery利用sort对DOM元素进行排序
- 利用Collator和Collections.sort对list进行中文排序,注意与Arrays.sort的区别
- JQuery利用sort对DOM元素进行排序