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

外包人员上海搜索排名优化

外包人员,上海搜索排名优化,扁平化网站格局,品牌广告公司网站建设JAVA实体类集合该如何去重#xff1f; 最近在工作中经常遇到需要去重的需求#xff0c;所以特意系统的来梳理一下 有目录#xff0c;不迷路 JAVA实体类集合该如何去重#xff1f;单元素去重方法一#xff1a;利用Set去重方法二#xff1a;利用java 8的stream写法#xf…JAVA实体类集合该如何去重 最近在工作中经常遇到需要去重的需求所以特意系统的来梳理一下 有目录不迷路 JAVA实体类集合该如何去重单元素去重方法一利用Set去重方法二利用java 8的stream写法方便优雅快捷高效 实体类对象去重单属性去重方法一利用map去重方法二利用map去重java 8语法方法三利用Set去重方法四 利用Set去重java 8写法方法五定义过滤器补充 多属性去重方法一利用map根据姓名、年龄去重方法二利用map根据姓名、年龄去重java 8写法方法三利用Set根据姓名、年龄去重java 8写法重写equals()和hashCode()方法方法四利用java 8 的distinct()最推荐方法五通过contains()方法来调用equals()方法来对比方法六重写方法后通过Set去重 单元素去重 方法一利用Set去重 public static void main(String[] args) {// 生成含重复元素的集合并打印ListInteger list new ArrayList();list.add(1);list.add(2);list.add(2);list.add(3);System.out.println(去重前 list);// 利用HashSet去重后并打印HashSetInteger hashSet new HashSet(list);list.clear();list.addAll(hashSet);System.out.println(去重后 list);}执行 方法二利用java 8的stream写法方便优雅快捷高效 public static void main(String[] args) {// 生成含重复元素的集合并打印ListInteger list new ArrayList();list.add(2);list.add(3);list.add(3);list.add(4);System.out.println(去重前 list);// 利用java 8的stream写法list list.stream().distinct().collect(Collectors.toList());System.out.println(去重后 list);}执行 实体类对象去重 先新建实体类 /*** Author: guqueyue* Description: 学生类* Date: 2023/12/12**/ public class Student {/** 姓名 */private String name;/** 年龄 */private Integer age;public Student() {}public Student(String name, Integer age) {this.name name;this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;} }单属性去重 方法一利用map去重 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 22));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用map根据姓名去重MapString, Student map new HashMap();for (Student student : studentList) {map.put(student.getName(), student);}studentList new ArrayList(map.values());System.out.println(去重后: studentList);}执行得 方法二利用map去重java 8语法 比方法一代码看似简洁了但实际上好似更加复杂了 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用map根据姓名去重java 8语法studentList studentList.stream().collect(Collectors.toMap(student - student.getName(), Function.identity(), (o, n) - n)).values().stream().collect(Collectors.toList());System.out.println(去重后: studentList);}执行 方法三利用Set去重 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用Set去重 // SetStudent set new TreeSet(((o1, o2) - o1.getName().compareTo(o2.getName())));SetStudent set new TreeSet((Comparator.comparing(Student::getName)));set.addAll(studentList);studentList.clear();studentList new ArrayList(set);System.out.println(去重后: studentList);}执行 方法四 利用Set去重java 8写法 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用Set去重java 8写法studentList studentList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() - new TreeSet(Comparator.comparing(Student::getName))),ArrayList::new));System.out.println(去重后: studentList);}执行 方法五定义过滤器 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 定义过滤器studentList studentList.stream().filter(distinctKey(Student::getName)).collect(Collectors.toList());System.out.println(去重后: studentList);}/*** Description 自定义过滤器* Param [keyExtractor]* return java.util.function.PredicateT**/public static T PredicateT distinctKey(Function? super T, Object keyExtractor) {MapObject, Boolean map new ConcurrentHashMap();return o - map.putIfAbsent(keyExtractor.apply(o), Boolean.TRUE) null;}执行 补充 补充一点如何提取去重后的单元素集合 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 提取去重后的姓名ListString nameList studentList.stream().map(Student::getName).distinct().collect(Collectors.toList());System.out.println(去重后: nameList);}执行 多属性去重 方法一利用map根据姓名、年龄去重 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用map根据姓名、年龄去重MapString, Student map new HashMap();for (Student student : studentList) {map.put(student.getName() _ student.getAge(), student);}studentList new ArrayList(map.values());System.out.println(去重后: studentList);}执行 方法二利用map根据姓名、年龄去重java 8写法 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用map根据姓名、年龄去重java 8写法studentList studentList.stream().collect(Collectors.toMap(s - s.getName() _ s.getAge(), Function.identity(), (o, n) - n)).values().stream().collect(Collectors.toList());System.out.println(去重后: studentList);}执行 方法三利用Set根据姓名、年龄去重java 8写法 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用Set根据姓名、年龄去重java 8写法studentList studentList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() - new TreeSet(Comparator.comparing(o - o.getName() _ o.getAge()))), ArrayList::new));System.out.println(去重后: studentList);}执行 重写equals()和hashCode()方法 下面的几种方法首先需要在实体类中重写equals()和hashCode()方法 Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return Objects.equals(name, student.name) Objects.equals(age, student.age);}Overridepublic int hashCode() {return Objects.hash(name, age);}方法四利用java 8 的distinct()最推荐 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 利用java 8 的distinct()根据姓名和年龄去重studentList studentList.stream().distinct().collect(Collectors.toList());System.out.println(去重后: studentList);}执行 方法五通过contains()方法来调用equals()方法来对比 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 通过contains()方法来调用equals()方法来对比根据姓名和年龄去重ListStudent newStudentList new ArrayList();for (Student student : studentList) {if (!newStudentList.contains(student)) {newStudentList.add(student);}}System.out.println(去重后: newStudentList);}执行 方法六重写方法后通过Set去重 public static void main(String[] args) {// 生成学生集合ListStudent studentList new ArrayList();studentList.add(new Student(张三, 18));studentList.add(new Student(张三, 19));studentList.add(new Student(张三, 18));studentList.add(new Student(李四, 18));System.out.println(去重前: studentList);// 通过Set根据姓名和年龄去重SetStudent set new HashSet(studentList);studentList.clear();studentList.addAll(set);System.out.println(去重后: studentList);}执行 完结撒花
http://www.dnsts.com.cn/news/193651.html

相关文章:

  • 建设网站怎样通过流量赚钱工作总结写作
  • 公司网站建设需要多少钱网站升级维护中 模板
  • 广西最优秀的品牌网站建设公司app怎么开发制作
  • 个人网站免费建设苏州艺术家网站建设
  • 做网站设计制作的抖音小程序源码
  • 怎么上传视频到公司网站新民网站建设价格咨询
  • 建设网站的工作步骤个人网站可以做营销吗
  • 有哪些网站建设方案网址你懂我意思正能量
  • 上海网站建设管理做一个网站需要多少费用
  • 李笑来做的一个网站深圳市做网站的公司
  • 网站qq未启用广告公司网站策划
  • 网站域名一年多少钱厦门最早做网站的公司
  • 网站设计做什么网站开发设计概述
  • 九江网站设计公司wordpress如何在地址栏中加网站logo
  • 网上快速学做网站物流网络规划
  • 广州营销型网站建设培训班贵州域网网站建设
  • 漯河住房建设局网站seo人才招聘
  • 给个网站做填空题删除wordpress媒体库多余
  • 专业手机网站公司吗ppt模板简约 淡雅 大气
  • 厦门做公司网站电子网站建设实验报告
  • 安贞网站建设深圳做网站de公司
  • 三亚最新通告文昌最新通告seo做什么行业比较好
  • 公司做网站用什么主机争对银行排队做一网站
  • 做网站代理属于开设赌场罪吗网站的模版
  • 中升乙源建设工程有限公司网站关于网站开发的个人小结
  • 百度生成在线网站地图网站屏蔽右键破解
  • 网站开发是做啥的打广告专用配图
  • 江西省做网站创意网站页面设计
  • 个性化网站建设公司WordPress最快主题
  • 专业从事成都网站建设做外贸的免费网站有哪些