重写Comparator和Comparable方法,以及Map按value排序
来源:互联网 发布:知名网络作家 编辑:程序博客网 时间:2024/06/09 17:02
继承Comparator接口,重写compare()方法
import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Random;class Student implements Comparator<Student>{String name;int age;int id;public Student(){}public Student(String name,int age,int id){this.name=name;this.age=age;this.id=id;}@Overridepublic int compare(Student o1, Student o2) {// TODO Auto-generated method stubreturn o1.age-o2.age;}}public class Test {public static void main(String[] args) {Random rand=new Random();List<Student> list=new ArrayList<Student>();for(int i=0;i<20;i++){Student ss=new Student("long-jing-wen-"+i,rand.nextInt(100),rand.nextInt(1000));list.add(ss);}Student student=new Student();Collections.sort(list, student);for(int i=0;i<list.size();i++){System.out.print(list.get(i).age+"<");}}}
继承Comparable,重写compareTo()方法import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random;import java.util.TreeMap;class Student2 implements Comparable<Student2>{String name;int age;int id;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}public Student2(){}public Student2(String name,int age,int id){this.name=name;this.age=age;this.id=id;}@Overridepublic int compareTo(Student2 o) {// TODO Auto-generated method stubreturn this.id-o.id;}}public class Test {public static void main(String[] args) {Random rand=new Random();Student2[] stu=new Student2[20];for(int i=0;i<20;i++){Student2 ss2=new Student2("long-jing-wen-"+i,rand.nextInt(100),rand.nextInt(1000));stu[i]=ss2;}treemap.putAll(map);Arrays.sort(stu);for(int i=0;i<stu.length;i++){System.out.print(stu[i].id+" ");}System.out.println();}}Map按value排序
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.TreeMap;public class Testing {public static void main(String[] args) {HashMap<String, Long> map = new HashMap<String, Long>();map.put("A", (long) 99);map.put("B", (long) 67);map.put("C", (long) 109);map.put("D", (long) 2);System.out.println("unsorted map: " + map);List<Map.Entry<String, Long>> list = new ArrayList<>(map.entrySet());Collections.sort(list, new Comparator<Map.Entry<String, Long>>() {public int compare(Map.Entry<String, Long> o1,Map.Entry<String, Long> o2) {return (int) (o2.getValue()-o1.getValue() );}});System.out.println("results: " + list);}}
0 0
- 重写Comparator和Comparable方法,以及Map按value排序
- Comparable和Comparator以及Arrays.sort方法
- Comparator和Comparable排序
- Arrays.sort排序方法以及Comparator和Comparable接口的作用
- java comparable 和 comparator 排序
- [java 排序] Comparable 和 Comparator
- java实现排序的方法-继承Comparable和Comparator
- Java集合排序方法comparable和comparator的总结
- Comparable和Comparator区分以及使用
- Comparable和Comparator 是什么以及区别
- Comparator和Comparable在排序中的应用
- Comparator和Comparable在排序中的应用
- java对象排序-Comparator和Comparable
- java Comparable 和 Comparator 的 Collections 排序
- Comparator和Comparable在排序中的应用
- Comparator和Comparable在排序中的应用
- Comparator和Comparable在排序中的应用
- Comparator和Comparable在排序中的应用
- FreeCodeCamp学习--Seek and Destroy
- C++指针的个人理解
- innodb undo--undo page(补充)
- LightRNN 论文笔记:LightRNN: Memory and Computation-Efficient Recurrent Neural Networks
- 虚拟机上如何设置网络(linux)
- 重写Comparator和Comparable方法,以及Map按value排序
- Hadoop2.7.2 Centos 完全分布式集群环境搭建 (3)
- MGW——美团点评高性能四层负载均衡
- 剑指offer10:二进制中1的个数
- 21天精通java基础之Day20网络编程(一)
- 根据前序遍历和中序遍历重建二叉树
- 代码整洁之道精华——第十七章 味道与启发
- 100根火柴问题
- bitmap格式分析