当前位置: 首页 > 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.zqtcl.cn/news/75554/

相关文章:

  • 做网站的步骤是什么交易网站的建设规划
  • 电子商务网站规划与设计分成型网站建设
  • 云南做公司网站多少钱做网站制作的公司
  • 建站管理过程新型网络营销模式
  • 中小企业门户网站的建设方案邢台建网站公司
  • 展示型商城订单网站建设安装和使用wordpress
  • 网络科技有限公司seo won jin
  • 网站建设违约责任条款网站建设费属于宣传费吗
  • 代做标书网站做网站后要回源码有何用
  • 建设网站教程论坛优化大师软件大全
  • 网站建设的可研设计报告网站建设项目分析
  • 个人建站哪类站赚钱网站开发模式有什么
  • 建设银行啦卡信用网站网站内容建设需要哪些策略呢
  • 做网站运营有前景么dw可以用来做网站吗
  • 电子商务类网站wordpress 分类目录 高亮
  • 功能性的网站归档系统如何创建个人网站模板
  • 做网站如何赚钱知乎负责网站建设
  • 在线动画手机网站模板下载苏州百度推广排名
  • 内江做网站的公司域名买完了网站建设
  • 建设手机版网站阿里网站建设需要准备什么软件
  • 舟山建设工程信息网站万户网络科技有限公司怎么样
  • 商城网站源码免费哪个厂家的logo品牌设计
  • 在线网站做情侣头像游戏公司有哪些
  • 公司网站建设企划书专门查大学的网站
  • wordpress案例站点网盟推广有哪些
  • 绵阳 网站设计站长工具seo综合查询外部链接数量
  • 电脑系统做的好的网站好铁岭网络推广网站建设
  • 简单的网站开发百度网盘登录
  • 灌南县建设局网站小程序名称大全
  • 外贸网站模板外贸网站建设做音乐网站建设的开发平台