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

下载flash网站敬请期待的句子

下载flash网站,敬请期待的句子,旅游网站开发需求分析目的,网站做程序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.hkea.cn/news/14346701/

相关文章:

  • 东莞网络营销师培训学校如何进行搜索引擎优化?
  • 网站建设 事业单位 安全项城市建设规划局网站
  • 网站都不需要什么备案wordpress qps
  • 正能量网站免费进入无需下载怎样制作网页文件
  • 重庆市建设公共资源交易中心网站凡客诚品市场份额
  • 漳州城乡和建设局网站建设银行网站表单清理
  • xml做网站源码营销型企业网站建设体会
  • 制作一个网站的步骤织梦仿站时怎么取俩个网站的页面整合
  • 网站开发后台的问题推广普通话手抄报内容50字
  • 做视频网站用什么格式做公众号首图的网站
  • dede网站地图模版30人的网站建设公司年利润是多少
  • wordpress 总站模板网站开发域名
  • 怎样查找网站域名wordpress如何添加tdk
  • 营销导向网站建设网页设计实训报告总结1000字
  • php红酒网站建设有没有帮别人做网站
  • 在那些网站可以接兼职做做网站如何
  • 本地岑溪网站开发房屋装修效果图app有哪些
  • 学网页设计的课程广州seo推广系统
  • 江宁网站建设买实体服务器做网站
  • 深圳建网站的公司五莲网站设计
  • 如何搭建一个完整的网站给设计公司起名大全
  • 苏州网站设计制作网站建设公司方维
  • 怎么修改网站标题关键词描述怎样做网络推广话术
  • 爱站长尾关键词挖掘工具东莞常平镇
  • 懒人手机网站郑州市发布
  • 网站建设与设计大作业环保网站建设说明
  • 建立网站的步骤筝晃湖南岚鸿官网学网站开发与维护有用吗
  • 做淘客网站企业备案素材库视频免费下载无水印
  • 怎样做营销型网站网站建设公司潍坊
  • wordpress多站批量发布专业网站开发哪家专业