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

网站建设多少钱一平米dw制作旅游网站教程

网站建设多少钱一平米,dw制作旅游网站教程,邯郸信息港聊天室,宣武手机网站建设5.Java比较器 基本数据类型的数据#xff08;除Boolean类型外#xff09;需要比较大小的话#xff0c;使用比较运算符即可#xff0c;但是引用数据类型不能直接使用比较运算符来比较大小。 Java中经常涉及到对象数组的排序问题#xff0c;对此Java有 2种方式实现对象的排…5.Java比较器 基本数据类型的数据除Boolean类型外需要比较大小的话使用比较运算符即可但是引用数据类型不能直接使用比较运算符来比较大小。 Java中经常涉及到对象数组的排序问题对此Java有 2种方式实现对象的排序Comparable 自然排序Comparator 定制排序 5.1 自然排序: 实现Comparable接口 java.lang.Comparable 实现步骤 ① 由具体的类A 去实现 Comparable接口 ② 重写 Comparable接口中的 compareTo(Object obj)方法在此方法中指明 比较类A的对象的 大小标准 ③ 创建类A的多个实例进行大小的比较 或排序。 5.1.1 比较String引用类型 Testpublic void test1() {String[] arr new String[]{Tom,Jerry, Tony, Jack, Lucy,};Arrays.sort(arr);for (String name : arr) {System.out.println(name);}}5.1.2 比较具体对象 package com.lCommonClasses.hComparator;/*** 商品*/ public class Product implements Comparable{private String name;//商品名private double price;//价格public Product() {}public Product(String name, double price) {this.name name;this.price price;}public String getName() {return name;}public void setName(String name) {this.name name;}public double getPrice() {return price;}public void setPrice(double price) {this.price price;}Overridepublic String toString() {return Product{ name name \ , price price };}/*** 当前类需要实现 Comparable中的抽象方法 compareTo(Object o)* 在此方法中需要指明如何判断当前类的大小。如按照价格的高低进行大小的比较* 从小到大价格相等时按照商品名称进行比较。* param o* return num:①num0:当前对象大; ②num 0:当前对象小; ③num 0: 两个对象相等*/Overridepublic int compareTo(Object o) {if (o this){return 0;}if (o instanceof Product){Product p (Product) o;int value Double.compare(this.price, p.getPrice());if (value !0){return -value;}return this.name.compareTo(p.name);}//手动抛出一个异常类的对象throw new RuntimeException(类型不匹配);} }package com.lCommonClasses.hComparator;import org.junit.Test;import java.util.Arrays;/*** 对象比较方式一*/ public class Comparable1 {/*1. 排序2. 比较的标准先比价格从大到小价格相同再比名字从小到大。*/Testpublic void test2() {Product[] arr new Product[5];arr[0] new Product(Hua, 7500);arr[1] new Product(Mi, 6500);arr[2] new Product(Honor, 6500);arr[3] new Product(Iphone, 9500);arr[4] new Product(Viv, 4500);Arrays.sort(arr);//排序后遍历for (int i 0; i arr.length; i) {System.out.println(arr[i]);}}//比大小Testpublic void test3() {Product p1 new Product(Hua, 7500);Product p2 new Product(Honor, 6500);int compare p1.compareTo(p2);if (compare 0) {System.out.println(p1 p2);} else if (compare 0) {System.out.println(p2 p1);} else {System.out.println(p1 p2);}} }5.2 定制排序: java.util.Comparator 思考 当元素的类型没有实现 java.long.Comparable接口而又不方便修改代码例如一些第三方的类只有 .class文件没有源文件如果一个类实现了Comparable接口也指定了两个对象比较大小的规则但此时不想按照预定的方法比较大小但是又不能随意修改 因为可能影响其他地方的使用怎么做 JDK设计类库之初也考虑到这种情况所以又增加了一个 java.util.Comparator接口。强行对多个对象进行整体排序的比较 重写 compare(Object o1, Object o2)方法比较它们的大小返回值 0, o1 o2返回值 0, o1 o2返回值 0, o1 o2可以将 Comparator传递给 sort方法如Collections.sort或 Arrays.sort从而允许在排序顺序上实现精确控制 java.lang.Comparator 实现步骤 ① 创建了一个实现 了 Comparable接口的实现类 A ② 实现类 A要求重写 Comparable接口中的抽象方法 compareTo(Object o1, Object o2)在此方法中指明 比较类A的对象的 大小标准A类在此指: String类或Product类 ③ 创建此实现类A的对象并将此对象传入到相关方法的参数位置即可。比如Arrays.sort(…, 类A的实例) 5.2.1 String 降序排列 Testpublic void test2() {String[] arr new String[]{Tom,Jerry, Tony, Jack, Lucy,};Arrays.sort(arr,new Comparator(){Overridepublic int compare(Object o1, Object o2) {if (o1 instanceof String o2 instanceof String) {String s1 (String) o1;String s2 (String) o2;//降序排列return -s1.compareTo(s2);}throw new RuntimeException(类型不匹配);}});//排序后遍历for (String name : arr) {System.out.println(name);}}5.2.2 对象排序 Testpublic void test1() {Product[] arr new Product[5];arr[0] new Product(Hua, 7500);arr[1] new Product(Mi, 6500);arr[2] new Product(Honor, 6500);arr[3] new Product(Iphone, 9500);arr[4] new Product(Viv, 4500);//创建一个实现了 Comparator接口的实现类的对象Comparator comparator new Comparator() {/*如果判断两个对象 o1、02 的大小其标准就是此方法的需要编写的逻辑。如先比价格从大到小价格相同再比名字从小到大。*/Overridepublic int compare(Object o1, Object o2) {if (o1 instanceof Product o2 instanceof Product){Product p1 (Product) o1;Product p2 (Product) o2;//比价格从大到小 // return -Double.compare(p1.getPrice(),p2.getPrice());//比名字从小到大return p1.getName().compareTo(p2.getName());}throw new RuntimeException(类型不匹配);}};Arrays.sort(arr,comparator);//排序后遍历for (int i 0; i arr.length; i) {System.out.println(arr[i]);}}5.3 两种比较器的对比 1角度一 自然排序单一的、唯一的定制排序灵活的、多样的 2角度二 自然排序一劳永逸定制排序临时的 3角度三细节 自然排序对应的接口是Comparable对应的抽象方法compareTo( Object obj);定制排序对应的接口是Comparator对应的抽象方法compareTo( Object obj1, Object obj2);
http://www.zqtcl.cn/news/995500/

相关文章:

  • 上海哪个网站能应聘做家教的营销网站中最重要的部分是
  • 一个设计网站多少钱WordPress的简约博客主题
  • 普通的宣传网站用什么做济南市工程建设技术监督局网站
  • 合肥网站建设公司还有不dw如何制作表格网页
  • 讯美智能网站建设自己域名做网站
  • 自己做网站优化韩国外贸平台
  • 齐河建设局网站长沙市住房和建设局官方网站
  • 萧山区住房和城乡建设局网站wordpress网站合并
  • 做背景网站网站建设与维护制作网页
  • 网站建设公司知名营销型企业网站项目策划表
  • 写作网站哪个最好企业培训机构有哪些
  • 江苏省水利工程建设局网站域名不备案可以正常使用吗
  • 对网站开发语言的统计网站内容建设包括什么
  • 西安高端网站建设怎样开公司
  • 华为做网站免费签名设计在线生成
  • 网站产品整合推广爱网聊的男人是什么心理
  • 武威市建设厅网站汕头seo外包公司
  • 酒泉网站怎么做seo东莞高明网站设计
  • 沧州网站建设联系电话杭州设计公司logo
  • 网站子站点是什么意思亚马逊国际站官网
  • 影视cms哪个好苏州关键词优化搜索排名
  • 杭州微信网站开发网站优化公司免费咨询
  • 宣武富阳网站建设南昌公众号开发公司
  • 免费的网站推荐下载wordpress %s
  • 网站的原理百度旧版本下载
  • 衡水网站建设地方新网域名证书下载
  • 自己做的创意的网站什么是淘宝seo
  • 网站开发包含哪些网站设计实例
  • 网站建设 核算棋牌源码论坛
  • 杭州网站建设案例网页设计程序