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

长治做网站哪家好延吉网站建设多少钱

长治做网站哪家好,延吉网站建设多少钱,做营销网站应该要注意些什么,深圳网站备案点1. 前言 最近用到了集合排序#xff08;基于 Java 8#xff09;。现在我能用 Stream 的就用 Stream #xff0c;真香#xff01;排序可以这么写#xff1a; ListPeople peoples new ArrayList();// 中间省略// 按照年龄从小到大排序 peoples.sort(Compar… 1. 前言 最近用到了集合排序基于 Java 8。现在我能用 Stream 的就用 Stream 真香排序可以这么写 ListPeople peoples new ArrayList();// 中间省略// 按照年龄从小到大排序 peoples.sort(Comparator.comparing(People::getAge)); 这里排序用到了一个关键接口 java.util.Comparator。排序比较作为业务中经常出现的需求我们有必要研究一下这个接口。 2. Comparator 概念 Comparator 是一个函数式接口。它经常用于没有天然排序的集合进行排序如 Collections.sort 或 Arrays.sort。或者对于某些有序数据结构的排序规则进行声明如 TreeSet 、TreeMap 。也就是该接口主要用来进行集合排序。 3. Comparator 中的方法 Comparator 作为一个函数式接口只有一个抽象方法,但是它有很多的默认方法我们来认识一下这些方法们。 3.1 compare 抽象方法 作为Comparator 唯一的抽象方法int compare(T o1,T o2) 比较两个参数的大小 返回负整数零正整数 分别代表 o1o2、o1o2、o1o2通常分别返回 -1、0 或 1。伪表达式 // 输入两个同类型的对象 输出一个比较结果的int数字 (x1,x2)- int 实现该方法一定要注意以下事项 必须保证compare(x,y) 和compare(y,x) 的值的和必须为 0 。必须保证比较的顺序关系是可传递的如果compare(x,y)0 而且compare(y,z)0 则 compare(x,z)0。如果存在 compare(x,y)0则对于 z 而言存在 compare(x, z)compare(y, z)。然而并不 严格要求(compare(x, y)0) (x.equals(y))。一般说来任何违背这个条件的 Comparator 实现都应该明确指出这一事实情况。 3.2 comparing 系列方法 从 Java 8 开始Comparator 提供了一系列的静态方法并通过函数式的风格赋予 Comparator 更加强大和方便的功能我们暂且称它们为 comparing系列方法。 public static T, U ComparatorT comparing(Function? super T, ? extends U keyExtractor,Comparator? super U keyComparator){Objects.requireNonNull(keyExtractor);Objects.requireNonNull(keyComparator);return (ComparatorT Serializable)(c1, c2) - keyComparator.compare(keyExtractor.apply(c1),keyExtractor.apply(c2));} 该方法是该系列方法的基本方法。是不是看上去很难懂的样子我们来分析一下该方法。它一共两个参数都是函数式接口。 第一个参数 Function? super T, ? extends U keyExtractor 表示输入一个是 T 类型对象输出一个 U 类型的对象举个例子输入一个 People 对象返回其年龄 Integer 数值 // people - people.getAge(); 转换为下面方法引用 FunctionPeople, Integer getAge People::getAge;第二个参数 keyComparator就很好理解了表示使用的比较规则。 对 c1,c2 按照 第一个参数 keyExtractor 提供的规则进行提取特征然后第二个参数keyComparator对这两个特征进行比较。下面的式子其实可以概括为 3.1 的 (x1,x2)- int (c1, c2) - keyComparator.compare(keyExtractor.apply(c1),keyExtractor.apply(c2)) Comparator Serializable 为 Java 8 新特性:同时满足这两个类型约束 理解了这个方法后其它该系列的方法就好理解了这里不再赘述。目前 comparing 系列方法使用更加广泛。我们举一些例子 ListPeople peoples new ArrayList(); // ……………… // 按照年龄从低到高排序 peoples.sort(Comparator.comparing(People::getAge)); // 按照年龄从高到低排序 peoples.sort(Comparator.comparing(People::getAge, (x, y) - -x.compareTo(y)));同样你可以使用 java.util.Collections 或者 Stream 提供的排序方法来使用Comparator。 4. 小结 今天对 Comparator进行了简单的分析它用于构建集合排序的规则在日常开发中非常有用。下一篇 我们将对另一个和它十分相似的接口 Comparable 进行分析和比较它们的不同敬请关注。 关注微信公众号Felordcn 获取更多干货
http://www.sadfv.cn/news/110474/

相关文章:

  • 爱名网22自助网站建设网易企业邮箱改密码
  • 漯河网站建设zrgu搭建影视网站
  • 网站关键词用什么做中山专业网站建设
  • 网站建设课程内容小型企业门户网站制作
  • 两人合伙做网站但不准备开公司flash个人网站设计
  • 服务器iis搭建网站wordpress 批量修改文章分类
  • 杭州网站建设哪家设计好怎样做百度网站推广
  • 朝阳区住房和城乡建设部网站做一个软件要多少钱
  • pc网站建设网站安全制度体系的建设情况
  • 毕业设计 网站开发简单吗建网页和建网站
  • word做网站wordpress本地下载
  • 学校网站内容建设方案丹东网站制作
  • 兼职做网站的费用专为男人做的网站
  • 电影新网站如何做seo优化中国与俄罗斯最新局势
  • 哪里有做网站的seo零基础培训
  • 粉红色的网站首页东莞平台网站建设设计公司
  • 大连网站策划推进网站 集约化建设
  • 做网站接单的网站怎么制作糖葫芦教程
  • 一个做品牌零食特卖的网站定制开发电商网站建设公司
  • 外贸网站推广工作站长查询站长工具
  • php网站开发实验总结关键词优化设计
  • 网站配色的原理和方法潍坊百度网站
  • 国外画册设计欣赏网站天津平台网站建设制作
  • 网站建设费算办公费吗注册公司怎样网上核名
  • 电商企业网站建设的一般要素有哪些深圳建立网站的公司
  • 国内设计网站公司平台兼职网站开发
  • 做cpa一定要有网站吗校园网站建设管理制度
  • 福田网站优化什么是网络营销系统
  • 发布软文网站兰州网站建设公
  • 兰州哪家网站做推广效果好房地产市场