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

苏州网站优化排名推广建设企业网站目的

苏州网站优化排名推广,建设企业网站目的,网站开发视频如何节省流量,电子商务网站建设 教学ppt你好朋友#xff0c; 在本教程中#xff0c;我们将看到如何使用Java 8 Comparator.nullsFirst在列表中的项目很少为空时如何对项目列表进行排序#xff0c;以便将null视为列表中的最小元素。 –什么是比较器 – nullsFirst方法在Comparator中做什么 –排序具有非空名称的… 你好朋友 在本教程中我们将看到如何使用Java 8 Comparator.nullsFirst在列表中的项目很少为空时如何对项目列表进行排序以便将null视为列表中的最小元素。 –什么是比较器 – nullsFirst方法在Comparator中做什么 –排序具有非空名称的字符串列表 –不使用nullsFirst排序具有名称和Null的字符串列表 –通过使用nullsFirst方法对列表进行排序来解决上述问题 –对不包含空值的自定义对象列表进行排序 –在不使用nullsFirst的情况下对具有null的Custom对象列表进行排序 –通过使用nullsFirst方法对列表进行排序来解决上述问题 –排序雇员姓名为空的列表 比较器是一个FunctionalInterface具有以下抽象方法 int比较T o1T o2; 因此如果要排序请说出您的列表。您可以创建一个实现Comparator接口的compare方法的类其中可以定义排序的逻辑然后将此比较器传递给list.sort方法然后它将根据您的排序定义的逻辑。 另外您可以将lambda函数实现Comparator的compare方法传递给list.sort方法而不是创建一个单独的类来实现Comparator接口。 nullsFirst方法在Comparator中做什么 在Java 8中Comparator接口中添加了许多默认和静态方法。 nullsFirst是Comparator接口中定义的静态方法之一具有以下签名 上市 静态 T Comparator T nullsFirstComparator 超级 T 比较器 那怎么办呢 –返回零友好的比较器该比较器认为null小于非null。 –当两个对象均为空时它们被视为相等。 –当两者都不为null时将指定的比较器作为参数传递给nullsFirst方法以确定排序顺序 –当指定的比较器为null时返回的比较器将所有非null值视为相等。 要了解nullsFirst的用法让我们尝试对具有雇员姓名的String列表进行排序 –首先没有空值 –然后使用空值但不使用nullsFirst –然后使用null值和nullsFirst –然后我们将对自定义Employee对象执行上述步骤 –然后如果自定义对象中需要根据其进行排序的属性之一为空那么我们将看到该情况 对具有非空名称的字符串列表进行排序 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.List; import java.util.Comparator; public class ComparatorTestWithListOfNamesWithoutNulls { public static void main(String[] args) { ListString names Arrays.asList( Gaurav , Tendulkar , Suresh , Rohit , Bumrah ); System.out.println( Before Sorting: ); names.forEach(System.out ::println); names.sort(Comparator.naturalOrder()); System.out.println( After Sorting: ); names.forEach(System.out ::println); } } 这是输出 排序之前 高拉夫 滕杜尔卡 苏雷什 罗希特 布姆拉 排序后 布姆拉 高拉夫 罗希特 苏雷什 滕杜尔卡 在不使用null的情况下对具有名称和null的字符串列表进行排序 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ComparatorTestWithListOfNamesAndNulls { public static void main(String[] args) { ListString names Arrays.asList( Gaurav , null , Sachin , Suresh , null , Rohit , Jasprit , null ); System.out.println( Before Sorting: ); names.forEach(System.out ::println); names.sort(Comparator.naturalOrder()); System.out.println( After Sorting: ); names.forEach(System.out ::println); } } 这是输出 排序之前 高拉夫 空值 萨钦 苏雷什 空值 罗希特 Jasprit 空值 线程“ main”中的异常 java.lang.NullPointerException 在java.base / java.util.Comparators $ NaturalOrderComparator.compare Comparators.java:52 在java.base / java.util.Comparators $ NaturalOrderComparator.compare Comparators.java:47 在java.base / java.util.TimSort.countRunAndMakeAscending TimSort.java:355 在java.base / java.util.TimSort.sort TimSort.java:220 在java.base / java.util.Arrays.sort Arrays.java:1442 在java.base / java.util.Arrays $ ArrayList.sort Arrays.java:4426 在com.blogspot.javasolutionsguide.ComparatorTestWithListOfNamesAndNulls.mainComparatorTestWithListOfNamesAndNulls.java:12 正如我们所看到的那样因为NaturalOrderComparator的compare方法试图通过对一个对象调用compareTo来比较两个o对象所以我们得到了NullPointerException。 通过使用nullsFirst方法对列表进行排序来解决上述问题 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.List; import java.util.Comparator; /** * author javasolutionsguide * */ public class ComparatorTestWithNullsFirstForListOfNames { public static void main(String[] args) { ListString names Arrays.asList( Gaurav , null , Tendulkar , Suresh , null , Rohit , Jasprit , null ); System.out.println( Before Sorting: ); names.forEach(System.out ::println); names.sort(Comparator.nullsFirst(Comparator.naturalOrder())); System.out.println( After Sorting: ); names.forEach(System.out ::println); } } 这是输出 排序之前 高拉夫 空值 滕杜尔卡 苏雷什 空值 罗希特 Jasprit 空值 排序后 空值 空值 空值 高拉夫 Jasprit 罗希特 苏雷什 滕杜尔卡 对自定义对象列表进行排序不包含空值 我们将创建一个Employee类它将是一个简单的POJO如下所示 package com.blogspot.javasolutionsguide; public class Employee { private int id; private String name; private String department; public Employee( int id, String name, String department) { super (); this .id id; this .name name; this .department department; } public int getId() { return id; } public String getName() { return name; } public String getDepartment() { return department; } Override public String toString() { return Employee [id id , name name , department department ] ; } } 这是我们的测试课 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ComparatorTestWithListOfEmployeesWithoutNulls { public static void main(String[] args) { ListEmployee employees Arrays.asList( new Employee( 1 , Gaurav , IT ), new Employee( 1 , Tendulkar , Admin ), new Employee( 1 , Suresh , IT ), new Employee( 1 , Rohit , Admin ), new Employee( 1 , Bumrah , Admin )); System.out.println( Before Sorting: ); employees.forEach(System.out ::println); System.out.println( After Sorting: ); employees.sort(Comparator.comparing(Employee :: getName)); employees.forEach(System.out::println); } 这是输出 排序之前 员工[id 1名称 Gaurav部门 IT] 员工[id 1名称 Tendulkar部门管理员] 员工[id 1姓名 Suresh部门 IT] 员工[id 1名称 Rohit部门管理员] 员工[id 1名称 Bumrah部门管理员] 排序后 员工[id 1名称 Bumrah部门管理员] 员工[id 1名称 Gaurav部门 IT] 员工[id 1名称 Rohit部门管理员] 员工[id 1姓名 Suresh部门 IT] 员工[id 1名称 Tendulkar部门管理员] 不使用null排序具有null的自定义对象列表 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ComparatorTestWithListOfEmployeesWithNulls { public static void main(String[] args) {  ListEmployee employees Arrays.asList( new Employee( 1 , Gaurav , IT ), null , new Employee( 1 , Tendulkar , Admin ), new Employee( 1 , Suresh , IT ), null , new Employee( 1 , Rohit , Admin ), new Employee( 1 , Bumrah , Admin ), null ); employees.sort(Comparator.comparing(Employee::getName)); employees.forEach(System.out::println); } } 这是输出 排序之前 员工[id 1名称 Gaurav部门 IT] 空值 员工[id 1名称 Tendulkar部门管理员] 员工[id 1姓名 Suresh部门 IT] 空值 员工[id 1名称 Rohit部门管理员] 员工[id 1名称 Bumrah部门管理员] 空值 线程“ main”中的异常 java.lang.NullPointerException 在java.base / java.util.Comparator.lambda $ comparing $ 77a9974f $ 1 比较器java469 在java.base / java.util.TimSort.countRunAndMakeAscending TimSort.java:355 在java.base / java.util.TimSort.sort TimSort.java:220 在java.base / java.util.Arrays.sort Arrays.java:1442 在java.base / java.util.Arrays $ ArrayList.sort Arrays.java:4426 在com.blogspot.javasolutionsguide.ComparatorTestWithListOfEmployeesWithNulls.mainComparatorTestWithListOfEmployeesWithNulls.java:19 通过使用nullsFirst方法对列表进行排序来解决上述问题 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class ComparatorTestWithListOfEmployeesWithNullsAndNullsFirst { public static void main(String[] args) { ListEmployee employees Arrays.asList( new Employee( 1 , Gaurav , IT ), null , new Employee( 1 , Tendulkar , Admin ), new Employee( 1 , Suresh , IT ), null , new Employee( 1 , Rohit , Admin ), new Employee( 1 , Bumrah , Admin ), null ); Collections.sort(employees ,Comparator.nullsFirst((emp1 ,emp2) - emp1.getName().compareToIgnoreCase(emp2.getName()))); employees.forEach(System.out::println); } } 这是输出 空值 空值 空值 员工[id 1名称 Bumrah部门管理员] 员工[id 1名称 Gaurav部门 IT] 员工[id 1名称 Rohit部门管理员] 员工[id 1姓名 Suresh部门 IT] 员工[id 1名称 Tendulkar部门管理员] 排序雇员姓名为null的列表 package com.blogspot.javasolutionsguide; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ComparatorTestWithListOfEmployeesWithNullNamesAndNullsFirst { public static void main(String[] args) { ListEmployee employees Arrays.asList( new Employee( 1 , Gaurav , IT ), new Employee( 1 , Tendulkar , Admin ), new Employee( 1 , null , IT ), new Employee( 1 , Rohit , Admin ), new Employee( 1 , Bumrah , Admin )); System.out.println( Before Sorting: ); employees.forEach(System.out ::println); employees.sort(Comparator.comparing(Employee::getName,Comparator.nullsFirst(Comparator.naturalOrder()))); System.out.println( After Sorting: ); employees.forEach(System.out::println); } } 这是输出 排序之前 员工[id 1名称 Gaurav部门 IT] 员工[id 1名称 Tendulkar部门管理员] 员工[id 1姓名空部门 IT] 员工[id 1名称 Rohit部门管理员] 员工[id 1名称 Bumrah部门管理员] 排序后 员工[id 1姓名空部门 IT] 员工[id 1名称 Bumrah部门管理员] 员工[id 1名称 Gaurav部门 IT] 员工[id 1名称 Rohit部门管理员] 员工[id 1名称 Tendulkar部门管理员] 摘要 当我们拥有很少的元素为null的元素列表并且希望将这些null视为列表中最小的元素时我们可以使用Comparator接口的nullsFirst方法该方法执行以下操作 返回一个对null友好的比较器该比较器认为null小于非null。 –当两个对象均为空时它们被视为相等。 –当两者都不为null时将指定的比较器作为参数传递给nullsFirst方法以确定排序顺序 –当指定的比较器为null时返回的比较器将所有非null值视为相等。 谢谢阅读。 如果您喜欢该帖子则可以共享它并可以订阅此博客以获取更多此类帖子。 翻译自: https://www.javacodegeeks.com/2020/02/sorting-a-list-having-null-values-with-comparators-nullsfirst.html
http://www.pierceye.com/news/988767/

相关文章:

  • 营销型网站是什么云南网站设计流程
  • 怎么做网站效果图广西网站建设运营费用
  • 怎么自己开发app软件无锡网站推广优化公司哪家好
  • 做网站原型的简单工具深圳网站建设美橙互联
  • 免费关键词挖掘网站wordpress发多少文章卡
  • html网站建设的步骤wordpress 自定义变量
  • 网站建设的意见建站公司有哪些服务
  • 广东美景园林建设有限公司网站陕西网络公司网站建设
  • 网站关键词怎么填写南昌网站建设一般多少钱一年
  • 公司网站制作费用无区域公司注册要求
  • 网站文章更新时间去国外做外卖网站好
  • 北京网站制作设计wordpress seo 介绍
  • 手机网站搭建平台怎么查网站域名备案
  • 用文件传输协议登录网站网站开发设计手册
  • 有什么兼职做it的网站网络推广怎么做才有效
  • 网站后台开发教程沈阳网站制作流程
  • 可以自己做课程的网站深圳小型网站建设
  • 静安做网站公司网站上线的通知
  • 怎么建设电影网站wordpress 附件上传插件下载
  • 网站导航内链建设企业网站设计方式有哪些
  • 手表网站建站千秋网络是家西安做网站的公司
  • 济南企业网站百度seo优化是做什么的
  • 网站颜色搭配案例wordpress洛米主题
  • 网站几个关键词网站备案为什么要关闭
  • 深圳网站制作哪家便宜怎么利用百度云盘做网站
  • 美容培训东莞网站建设做的网站上更改内容改怎么回事
  • 绵阳新农网的网站是哪个公司做的wordpress 在线教育主题
  • 大连优化网站怎样制作企业的网站
  • 网站建设邀请函北京网站优化 卓立海创
  • 公司后台的网站代理维护更新商贸有限公司注销流程