当前位置: 首页 > news >正文

网站建设 西安wordPress图片查看插件

网站建设 西安,wordPress图片查看插件,北京综合网站建设系列,平面设计有哪些Comparable和Comparator接口都是实现集合中元素的比较、排序的,众所周知,诸如Integer,double等基本数据类型,java可以对他们进行比较,而对于类的比较,需要人工定义比较用到的字段比较逻辑。总体来讲&#x…

Comparable和Comparator接口都是实现集合中元素的比较、排序的,众所周知,诸如Integer,double等基本数据类型,java可以对他们进行比较,而对于类的比较,需要人工定义比较用到的字段比较逻辑。总体来讲,可以把Comparable理解为内部比较器,而Comparator是外部比较器。Comparable需要修改源码,Comparator则不需要!
 

1、Comparable(内部比较器)

  • 实现了Comparable接口的类中需要重写 int compareTo(T o)方法。
  • 实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。
public class Person implements Comparable<Person> {String name;int age;public Person(String name, int age) {super();this.name = name;this.age = age;}public Person() {super();}@Overridepublic int compareTo(Person o) {return this.age - o.age; //从小到大排序!}
}

编写测试类,来对person对象进行排序:

       

import java.util.Arrays;public class Test {public static void main(String[] args) {Person p1 = new Person("zhangsan", 20);Person p2 = new Person("lisi", 18);Person p3 = new Person("wangwu", 25);Person[] persons = {p1, p2, p3};System.out.println("排序前");for (Person person : persons) {System.out.println(person.name + ":" + person.age);}//Arrays是数组工具类,Collections是集合工具类Arrays.sort(persons);System.out.println("排序后");for (Person person : persons) {System.out.println(person.name + ":" + person.age);}}}

 2、Comparator(外部比较器)

  • 不改变源码,从新创建一个类,该类实现了Comparator的接口
  • 重写 int compare(T o1, T o2)方法 是“比较o1和o2的大小”。

创建Person类:

public class Person {String name;int age;public Person(String name, int age) {super();this.name = name;this.age = age;}public Person() {super();}
}

来创建person类的比较器PersonComparator类:

import java.util.Comparator;public class PersonComparator implements Comparator<Person>{@Overridepublic int compare(Person o1, Person o2) {return o1.age - o2.age;}}

编写测试类:

import java.util.Arrays;public class Test {public static void main(String[] args) {Person p1 = new Person("zhangsan", 20);Person p2 = new Person("lisi", 18);Person p3 = new Person("wangwu", 25);Person[] persons = {p1, p2, p3};System.out.println("排序前");for (Person person : persons) {System.out.println(person.name + ":" + person.age);}Arrays.sort(persons, new PersonComparator());System.out.println("排序后");for (Person person : persons) {System.out.println(person.name + ":" + person.age);}}
}

3、总结

二者各有优缺点,用Comparable 简单, 只要实现Comparable 接口的对象直接就成为一个可以比较的对象,但是需要修改源代码。 用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较器, 当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并且在Comparator 里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象,那样就可以节省重复劳动。
 

http://www.yayakq.cn/news/566934/

相关文章:

  • 怎么知道网站的ftp建设完网站成功后需要注意什么
  • 合肥网站建设网站模板WordPress章节插件
  • 南通做公司网站优秀的网站建设解决方案
  • 软件学校网站模板下载wordpress 阿里云短信
  • 做全国家电维修网站到哪里做WordPress主题增加说说页面
  • 网站视频弹窗代码wordpress网站文章排版插件
  • 海口网页建站模板wordpress上传文件慢
  • 郑州做网站汉狮网络简单网站后台
  • 网站建设公司如何选取石青淘宝推广工具
  • 标准网站建设百度网站官网入口网址
  • 北京网站建设 seo公司海南网约车最新政策
  • jsp技术做网站有什么特点编程入门基础知识
  • 海外精品网站建设wordpress设置菜单跳转到锚
  • 网站怎么做用户登录数据库网站更换备案
  • 为什么要给企业建设网站橙色网站后台模板
  • 外贸网站空间选择wordpress 启动流程
  • 哪些网站做外链上海建设网站公司哪家好
  • 上海网站建站多少钱php做的网站
  • 爱站网关键词查询网站的工具wordpress资源图片主题
  • 网站建设和维护释义网络营销方式对营销人员的启示
  • 贵州省城乡与住房建设部网站怎么在外国网站上找产品做跨境电商
  • 广西网站设计运营公司做基因表达热图的网站
  • 网上电商平台开发五年级下册数学优化设计答案
  • 建网站排名住房和城乡规划建设局官方网站
  • 成都网站建设有名的公司网站首页栏目怎么做
  • 怎么分析网站用什么技术做的品牌策划包括哪些内容
  • 广州市建设工程安监站网站百度平台我的订单
  • 哪些网站可以做gif企业网站建设的公司
  • 有个专门做3d同人网站企业网站怎样做优化
  • 网站发布和收录怎么做网站建设管理及维护