java比较器的简单使用
2021/10/16 22:10:06
本文主要是介绍java比较器的简单使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package class03P; import java.util.Arrays; import java.util.Comparator; import java.util.PriorityQueue; public class Code03P_Comparator { public static class Student{ public String name; public int id; public int age; public Student(String name, int id, int age){ this.name = name; this.id = id; this.age = age; } } public static class IdAscendingComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2){ return o1.id - o2.id; } } public static class IdDescendingComparator implements Comparator<Student>{ @Override public int compare(Student o1, Student o2){ return o2.id - o1.id; } } public static class AgeAscendingComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { return o1.age - o2.age; } } public static class AgeDescendingComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { return o2.age - o1.age; } } public static void printArray(Student[] students){ for (Student student : students) { System.out.println("Name : " + student.name + ", Id : " + student.id + " , Age : " + student.age); } } public static class MyComp implements Comparator<Integer>{ @Override public int compare(Integer o1, Integer o2){ return o2 - o1; } } public static void main(String[] args){ Student student1 = new Student("A", 2, 33); Student student2 = new Student("B", 3, 21); Student student3 = new Student("C", 1, 22); Student[] students = new Student[] { student1, student2, student3}; Arrays.sort(students, new IdAscendingComparator()); printArray(students); System.out.println("======================================="); Arrays.sort(students, new IdDescendingComparator()); printArray(students); System.out.println("======================================="); Arrays.sort(students, new AgeAscendingComparator()); printArray(students); System.out.println("======================================="); Arrays.sort(students, new AgeAscendingComparator()); printArray(students); System.out.println("======================================="); System.out.println("======================================="); System.out.println("======================================="); System.out.println("======================================="); System.out.println("======================================="); PriorityQueue<Student> maxHeapBasedAge = new PriorityQueue<>(new AgeDescendingComparator()); maxHeapBasedAge.add(student1); maxHeapBasedAge.add(student2); maxHeapBasedAge.add(student3); while(maxHeapBasedAge.isEmpty()){ Student student = maxHeapBasedAge.poll(); System.out.println("Name : " + student.name + ", Id : " + student.id + " , Age : " + student.age); } System.out.println("======================================="); } }
这篇关于java比较器的简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29RocketMQ底层原理资料详解:新手入门教程
- 2024-11-29RocketMQ源码资料解析与入门教程
- 2024-11-29[开源]6.1K star!这款电视直播源神器真的太赞啦!
- 2024-11-29HTTP压缩入门教程:轻松提升网页加载速度
- 2024-11-29JWT开发入门指南
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能