对于Java中引用类型的对象,自身是没有排序的功能的,要想对这些对象进行排序,需要实现一个比较器,定义它的排序规则。而在JDK中,也提供了这样的比较器,来对这些引用数据类型的对象进行排序,常用就是内部比较器(Comparable)与外部比较器(Comparator)。
![6ea4676ac20a346b814600e68a417cba.png](https://i-blog.csdnimg.cn/blog_migrate/3e13586acd5091872e22f7c77184894e.jpeg)
![187d50c3c42786a3b7cb7f77a407ba97.png](https://i-blog.csdnimg.cn/blog_migrate/477ab98c50050c87ea0769858773f372.jpeg)
内部比较器,顾名思义,就是在这个对象的内部实现排序算法,Java很多基础类都实现了Comparable接口;外部比较器则是定义一个该对象的比较器,在这个比较器中实现排序算法。话不多说上代码。
package com.pig.compare;public class Player {private String name;private int skill;public Player(String name, int skill) {super();this.name = name;this.skill = skill;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getSkill() {return skill;}public void setSkill(int skill) {this.skill = skill;}@Overridepublic String toString() {return "Player " + name +