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

广州微信网站建设公司哪家好十堰秦楚网公众号

广州微信网站建设公司哪家好,十堰秦楚网公众号,电网站建设用地赔偿,最牛餐饮营销手段一.java中的compareto方法 1.返回参与比较的前后两个字符串的asc码的差值#xff0c;如果两个字符串首字母不同#xff0c;则该方法返回首字母的asc码的差值 String a1 “a”; String a2 “c”; System.out.println(a1.compareTo(a2));//结果为-2 2.即参与比较的两个字符…一.java中的compareto方法 1.返回参与比较的前后两个字符串的asc码的差值如果两个字符串首字母不同则该方法返回首字母的asc码的差值 String a1 “a”; String a2 “c”; System.out.println(a1.compareTo(a2));//结果为-2 2.即参与比较的两个字符串如果首字符相同则比较下一个字符直到有不同的为止返回该不同的字符的asc码差值 String a1 “aa”; String a2 “ad”; System.out.println(a1.compareTo(a2));//结果为-3 3.如果两个字符串不一样长可以参与比较的字符又完全一样则返回两个字符串的长度差值 String a1 “aa”; String a2 “aa12345678”; System.out.println(a1.compareTo(a2));//结果为-8 4.返回为正数表示a1a2, 返回为负数表示a1a2, 返回为0表示a1a2 5.数字类型不能用compareTont跟int的比较不能用compareTo方法,直接用大于() 小于() 或者 等于() 不等于(!)来比较即可 int num1 4; int num2 5; num1.compareTo(num2);//Cannot invoke compareTo(int) on the primitive type int 你可以先把你的int型变量转换成String再进行比较 复制代码      int num1 4; int num2 5; //parse int to String System.out.println((num1).compareTo(num2));//-1System.out.println(new Integer(num1).toString(). compareTo(new Integer(num2).toString()));//-1System.out.println(String.valueOf(num1).compareTo(String.valueOf(num2)));//-1复制代码 6.compareToIgnoreCase忽略大小写 不考虑大小写按字典顺序比较两个字符串。此方法返回一个整数它的正负号是调用 compareTo 的正负号调用时使用了字符串的规范化版本其大小写差异已通过对每个字符调用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。 注意此方法不 考虑语言环境因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。 7.int型可以直接比较所以没有用到compareTo比较如果声明的是Date、String、Integer、或者其他的可以直接使用compareTo比较 Integer n1 5;Integer n2 6;System.out.println(n1.compareTo(n2));//-1 二. Comparable接口中的compareTo compareTo方法内必须做非空判断规范问题当然int类型就不用了。 注意事项 1、模型必须实现Comparable接口 2、Collection.sort(list)会自动调用compareTo,如果没有这句list是不会排序的也不会调用compareTo方法 3、如果是数组则用Arrays.sort(a)方法 注意要非空判断这里实例就不判断了 复制代码   private int bookId; private String bookName;private int bookPrice;Override public int compareTo(Book o) {// TODO Auto-generated method stub//return this.bookPrice-o.bookPrice;//按价格排序 升序 //return o.bookPrice-this.bookPrice;//按价格排序 降序//return this.bookName.compareTo(o.bookName);//按书名排序 升序//先按 id 再按价格 最后按书名排序 升序int result this.bookId - o.bookId;if(result 0){result this.bookPrice - o.bookPrice;}if(result 0){result this.bookName.compareTo(o.bookName);} return result;}复制代码 复制代码 package com.my.test.compare; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class TestCompare { public static void main(String[] args) { Book b1 new Book(1, “语文”, 20); Book b2 new Book(2, “数学”, 10); Book b3 new Book(5, “英语”, 10); Book b4 new Book(4, “化学”, 50); Book b5 new Book(3, “化学”, 10); //Book b6 null;//不能为nullCollections.sort调用compareTo会报空指针异常 ListBook books new ArrayList(); books.add(b1);books.add(b2);books.add(b3);books.add(b4);books.add(b5);System.out.println(Collections 排序前);for (Book book : books) {System.out.println(book);}Collections.sort(books);System.out.println(Collections 排序后);for (Book book : books) {System.out.println(book);}Book[] b new Book[5];System.out.println(b.length);b[0] b1;b[1] b2;b[2] b3;b[3] b4;b[4] b5;System.out.println(Arrays 排序前 );for (Book book : b) {System.out.println(book);}Arrays.sort(b);System.out.println(Arrays 排序后 );for (Book book : b) {System.out.println(book);}}} 复制代码 在应用中我们为了好判断状态一般处理为 复制代码     if(this.bookIdo.bookId){ return -1; }else if(this.bookIdo.bookId){ return 1; }else{ return 0; } 复制代码 返回值为 10.-1 三。 Comparator接口 源码 复制代码 FunctionalInterface public interface Comparator { // 核心方法用来比较两个对象如果o1小于o2返回负数等于o2返回0大于o2返回正数 int compare(T o1, T o2); // 好像很少用到一般都用对象自带的equals boolean equals(Object obj); /**-----------下面的都是JDK1.8新增的接口挑几个放进去----------*/ //返回反向排序比较器 default Comparator reversed() { return Collections.reverseOrder(this); } //根据名字知道先进行compare比较后再进行一次比较 default Comparator thenComparing(Comparator? super T other) { Objects.requireNonNull(other); return (Comparator Serializable) (c1, c2) - { int res compare(c1, c2); return (res ! 0) ? res : other.compare(c1, c2); }; } //对int类型的key进行比较 public static Comparator comparingInt(ToIntFunction? super T keyExtractor) { Objects.requireNonNull(keyExtractor); return (Comparator Serializable) (c1, c2) - Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2)); } //返回正常顺序的比较器 public static T extends Comparable? super T Comparator naturalOrder() { return (Comparator) Comparators.NaturalOrderComparator.INSTANCE; } } 复制代码 一起来看一下如何使用先来看一下JDK1.8以前的用法 复制代码 Collections.sort(books,new Comparator() { Overridepublic int compare(Book o1, Book o2) {// TODO Auto-generated method stubreturn o1.getBookPrice() - o2.getBookPrice();}});复制代码 或者创建一个比较器 复制代码 package com.my.test.compare; import java.util.Comparator; public class SimpleCompator implements Comparator { Override public int compare(Book o1, Book o2) {// TODO Auto-generated method stubreturn o1.getBookPrice() -o2.getBookPrice(); }} 复制代码 Collections.sort(books,new SimpleCompator()); JDK1.8以前的用法要自己手动实现Comparator接口然后调用Collections.sort()传入实现类来完成排序非常麻烦而JDK1.8则相对来说简单了很多 Collections.sort(books,(Book a, Book b) - { return a.getBookPrice()-b.getBookPrice(); });或者可以简单的写为 Collections.sort(books,(Book a, Book b) - a.getBookPrice()-b.getBookPrice());甚至我们可以不使用Collections.sort books.sort((Book a, Book b) - a.getBookPrice()-b.getBookPrice() ); 详见http://www.manongjc.com/article/8005.html compator 在 treeMap 中的 应用基于key的排序 treeMap默认的是基于key的从小到大 的排列 自定义排序也是基于key的如果key object类型 可以自定义各种排序 TreeMapString, Person treeMap new TreeMap((String a,String b)- b.compareTo(a));//降序TreeMapString, Person treeMap new TreeMap((String a,String b)- a.compareTo(b));//升序TreeMap的按value排序转换成entry list 然后排序汉字是按ascii码排序的不是汉语拼音 复制代码 Person p1 new Person(1, “A小红”); Person p2 new Person(5, “D赵明”); Person p3 new Person(2, “W孙宇”); Person p4 new Person(9, “C黎明”); TreeMapString, Person treeMap new TreeMap();treeMap.put(45, p1);treeMap.put(12, p2);treeMap.put(85, p3);treeMap.put(33, p4);ListMap.EntryString, Person entries new ArrayList(treeMap.entrySet());Collections.sort(entries,(Map.EntryString, Person e1, Map.EntryString, Person e2) - ((Person) e1.getValue()).getPersonName().compareTo(((Person) e2.getValue()).getPersonName()));System.out.println(按名字顺序排列);for (EntryString, Person entry : entries) {System.out.println(entry.getValue());}一.java中的compareto方法 1.返回参与比较的前后两个字符串的asc码的差值如果两个字符串首字母不同则该方法返回首字母的asc码的差值 String a1 “a”; String a2 “c”; System.out.println(a1.compareTo(a2));//结果为-2 2.即参与比较的两个字符串如果首字符相同则比较下一个字符直到有不同的为止返回该不同的字符的asc码差值 String a1 “aa”; String a2 “ad”; System.out.println(a1.compareTo(a2));//结果为-3 3.如果两个字符串不一样长可以参与比较的字符又完全一样则返回两个字符串的长度差值 String a1 “aa”; String a2 “aa12345678”; System.out.println(a1.compareTo(a2));//结果为-8 4.返回为正数表示a1a2, 返回为负数表示a1a2, 返回为0表示a1a2 5.数字类型不能用compareTont跟int的比较不能用compareTo方法,直接用大于() 小于() 或者 等于() 不等于(!)来比较即可 int num1 4; int num2 5; num1.compareTo(num2);//Cannot invoke compareTo(int) on the primitive type int 你可以先把你的int型变量转换成String再进行比较 复制代码      int num1 4; int num2 5; //parse int to String System.out.println((num1).compareTo(num2));//-1System.out.println(new Integer(num1).toString(). compareTo(new Integer(num2).toString()));//-1System.out.println(String.valueOf(num1).compareTo(String.valueOf(num2)));//-1复制代码 6.compareToIgnoreCase忽略大小写 不考虑大小写按字典顺序比较两个字符串。此方法返回一个整数它的正负号是调用 compareTo 的正负号调用时使用了字符串的规范化版本其大小写差异已通过对每个字符调用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。 注意此方法不 考虑语言环境因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。 7.int型可以直接比较所以没有用到compareTo比较如果声明的是Date、String、Integer、或者其他的可以直接使用compareTo比较 Integer n1 5;Integer n2 6;System.out.println(n1.compareTo(n2));//-1 二. Comparable接口中的compareTo compareTo方法内必须做非空判断规范问题当然int类型就不用了。 注意事项 1、模型必须实现Comparable接口 2、Collection.sort(list)会自动调用compareTo,如果没有这句list是不会排序的也不会调用compareTo方法 3、如果是数组则用Arrays.sort(a)方法 注意要非空判断这里实例就不判断了 复制代码   private int bookId; private String bookName;private int bookPrice;Override public int compareTo(Book o) {// TODO Auto-generated method stub//return this.bookPrice-o.bookPrice;//按价格排序 升序 //return o.bookPrice-this.bookPrice;//按价格排序 降序//return this.bookName.compareTo(o.bookName);//按书名排序 升序//先按 id 再按价格 最后按书名排序 升序int result this.bookId - o.bookId;if(result 0){result this.bookPrice - o.bookPrice;}if(result 0){result this.bookName.compareTo(o.bookName);} return result;}复制代码 复制代码 package com.my.test.compare; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class TestCompare { public static void main(String[] args) { Book b1 new Book(1, “语文”, 20); Book b2 new Book(2, “数学”, 10); Book b3 new Book(5, “英语”, 10); Book b4 new Book(4, “化学”, 50); Book b5 new Book(3, “化学”, 10); //Book b6 null;//不能为nullCollections.sort调用compareTo会报空指针异常 ListBook books new ArrayList(); books.add(b1);books.add(b2);books.add(b3);books.add(b4);books.add(b5);System.out.println(Collections 排序前);for (Book book : books) {System.out.println(book);}Collections.sort(books);System.out.println(Collections 排序后);for (Book book : books) {System.out.println(book);}Book[] b new Book[5];System.out.println(b.length);b[0] b1;b[1] b2;b[2] b3;b[3] b4;b[4] b5;System.out.println(Arrays 排序前 );for (Book book : b) {System.out.println(book);}Arrays.sort(b);System.out.println(Arrays 排序后 );for (Book book : b) {System.out.println(book);}}} 复制代码 在应用中我们为了好判断状态一般处理为 复制代码     if(this.bookIdo.bookId){ return -1; }else if(this.bookIdo.bookId){ return 1; }else{ return 0; } 复制代码 返回值为 10.-1 三。 Comparator接口 源码 复制代码 FunctionalInterface public interface Comparator { // 核心方法用来比较两个对象如果o1小于o2返回负数等于o2返回0大于o2返回正数 int compare(T o1, T o2); // 好像很少用到一般都用对象自带的equals boolean equals(Object obj); /**-----------下面的都是JDK1.8新增的接口挑几个放进去----------*/ //返回反向排序比较器 default Comparator reversed() { return Collections.reverseOrder(this); } //根据名字知道先进行compare比较后再进行一次比较 default Comparator thenComparing(Comparator? super T other) { Objects.requireNonNull(other); return (Comparator Serializable) (c1, c2) - { int res compare(c1, c2); return (res ! 0) ? res : other.compare(c1, c2); }; } //对int类型的key进行比较 public static Comparator comparingInt(ToIntFunction? super T keyExtractor) { Objects.requireNonNull(keyExtractor); return (Comparator Serializable) (c1, c2) - Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2)); } //返回正常顺序的比较器 public static T extends Comparable? super T Comparator naturalOrder() { return (Comparator) Comparators.NaturalOrderComparator.INSTANCE; } } 复制代码 一起来看一下如何使用先来看一下JDK1.8以前的用法 复制代码 Collections.sort(books,new Comparator() { Overridepublic int compare(Book o1, Book o2) {// TODO Auto-generated method stubreturn o1.getBookPrice() - o2.getBookPrice();}});复制代码 或者创建一个比较器 复制代码 package com.my.test.compare; import java.util.Comparator; public class SimpleCompator implements Comparator { Override public int compare(Book o1, Book o2) {// TODO Auto-generated method stubreturn o1.getBookPrice() -o2.getBookPrice(); }} 复制代码 Collections.sort(books,new SimpleCompator()); JDK1.8以前的用法要自己手动实现Comparator接口然后调用Collections.sort()传入实现类来完成排序非常麻烦而JDK1.8则相对来说简单了很多 Collections.sort(books,(Book a, Book b) - { return a.getBookPrice()-b.getBookPrice(); });或者可以简单的写为 Collections.sort(books,(Book a, Book b) - a.getBookPrice()-b.getBookPrice());甚至我们可以不使用Collections.sort books.sort((Book a, Book b) - a.getBookPrice()-b.getBookPrice() ); 详见http://www.manongjc.com/article/8005.html compator 在 treeMap 中的 应用基于key的排序 treeMap默认的是基于key的从小到大 的排列 自定义排序也是基于key的如果key object类型 可以自定义各种排序 TreeMapString, Person treeMap new TreeMap((String a,String b)- b.compareTo(a));//降序TreeMapString, Person treeMap new TreeMap((String a,String b)- a.compareTo(b));//升序TreeMap的按value排序转换成entry list 然后排序汉字是按ascii码排序的不是汉语拼音 复制代码 Person p1 new Person(1, “A小红”); Person p2 new Person(5, “D赵明”); Person p3 new Person(2, “W孙宇”); Person p4 new Person(9, “C黎明”); TreeMapString, Person treeMap new TreeMap();treeMap.put(45, p1);treeMap.put(12, p2);treeMap.put(85, p3);treeMap.put(33, p4);ListMap.EntryString, Person entries new ArrayList(treeMap.entrySet());Collections.sort(entries,(Map.EntryString, Person e1, Map.EntryString, Person e2) - ((Person) e1.getValue()).getPersonName().compareTo(((Person) e2.getValue()).getPersonName()));System.out.println(按名字顺序排列);for (EntryString, Person entry : entries) {System.out.println(entry.getValue());}
http://www.hkea.cn/news/14308625/

相关文章:

  • 一手货源一件代发平台企业关键词优化公司
  • 做微商哪个网站有客源wordpress页脚居中
  • 两学一做网站视频百度seo推广软件
  • 外贸网站建设收益北京软件开发公司排名榜
  • 做的好的外贸网站公司备案证查询网站查询
  • 爱聊网站建网站金坛哪家强?
  • 网站设计与规划论文o2o电商网站开发
  • 了解龙岗网站建设网站跳转qq链接怎么做的
  • 网站产品推广怎么自己做企业网站
  • 重庆一般建一个网站需要多少钱亿网互联科技有限公司
  • 小白网站建设教程龙信建设集团网站
  • 电力建设工程最好的网站黄冈市建设银行网站
  • 深圳网站seo教程Vs做的网站调试时如何适应网页
  • 网站定制开发上海网站返利程序
  • 学编程用什么笔记本电脑好安阳专业seo地址
  • 洛阳有没有做家教的网站公众号seo排名软件
  • dw做网站的导航栏怎么做百度推广账户怎么开
  • asp.net网站第一次运行慢域名什么意思
  • 网站建设温江网站首页的概念
  • 网站app免费下载软件大全什么是搜索引擎优化?
  • 淄博市住房和城乡建设局官方网站网站目录怎么做外链
  • 三合一模板网站湖北什么是网站建设
  • 什么程序做网站用户体验好的网站
  • 网站导航背景 蓝色做网站团队
  • 网站源码文件安装教程奎屯网站制作
  • 网站开发示例宁波网站建设开发多少钱
  • 站长工具ip地址查询企业建设营销型网站步骤
  • 公司网站上传ftp教程企业信息化管理软件有哪些
  • 苏州公司网站建设电话国内wordpress视频主题
  • 网站投票功能天元建设集团有限公司座机号码