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

佛山网站建设品牌网站搜索关键词优化

佛山网站建设品牌,网站搜索关键词优化,做网站新乡,网站改版准备一、转换方式介绍 以下是 Map、List 和 Set 之间的常见转换方法总结&#xff1a;1. List → Set使用 HashSet 构造函数&#xff1a; Set<Student> sSet new HashSet<>(sList);使用 Stream 流&#xff1a; Set<Student> sSet1 sList.stream().collect(Colle…

一、转换方式介绍

以下是 MapListSet 之间的常见转换方法总结:


1. List → Set

  • 使用 HashSet 构造函数

    Set<Student> sSet = new HashSet<>(sList);
    
  • 使用 Stream 流

    Set<Student> sSet1 = sList.stream().collect(Collectors.toSet());
    

2. Set → List

  • 使用 ArrayList 构造函数

    List<Student> sList1 = new ArrayList<>(sSet2);
    
  • 使用 Stream 流

    List<Student> sList2 = sSet2.stream().collect(Collectors.toList());
    

3. Set → Map

  • 使用 Stream 流 + Collectors.toMap()
    Map<Integer, String> smap = sSet3.stream().collect(Collectors.toMap(Student::getAge, Student::getName));
    

4. Map → Set

  • 获取键的集合

    Set<Integer> keySet = map1.keySet();
    Set<Integer> keySet2 = new HashSet<>(map1.keySet());
    
  • 获取值的集合并转为 Set

    • 使用 Stream 流:

      Set<String> valueSet = map1.values().stream().collect(Collectors.toSet());
      
    • 使用 HashSet 构造器:

      Set<String> valueSet1 = new HashSet<>(map1.values());
      

5. Map → List

  • 获取键或值的集合并转为 List
    List<Student> valueList = new ArrayList<>(map2.keySet());
    

6. List → Map

  • 使用 Stream 流 + Collectors.toMap()
    Map<Integer, String> map3 = list.stream().collect(Collectors.toMap(Student::getAge, Student::getName));
    

7. 注意事项

  • 去重处理:当 List 转换为 Set 时,确保对象正确实现 equals()hashCode() 方法,以避免重复元素。
  • 排序问题:如果需要有序的 SetList,可以使用 LinkedHashSetTreeSet 等有序结构。
  • 异常处理:在将 List 转换为 Map 时,若存在重复的 Key,需提供合并策略,例如:
    Map<Integer, String> map3 = list.stream().collect(Collectors.toMap(Student::getAge,Student::getName,(existing, replacement) -> existing // 如果有重复Key,保留旧值));
    

以上是 Java 中 MapListSet 之间的常用转换方法。

二、代码示例

package com;import java.util.*;
import java.util.stream.Collectors;public class Main {public static void main(String[] args) {class Student implements  Comparable<Student>{public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}private int age;private String name;public Student(int age, String name) {this.age = age;this.name = name;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Objects.equals(name, student.name);}@Overridepublic int hashCode() {return Objects.hash(age, name);}@Overridepublic int compareTo(Student o) {return o.age-this.age;}@Overridepublic String toString() {return "Student{" +"age=" + age +", name='" + name + '\'' +'}';}}System.out.println("-------List(ArrayList)——>Set集合----------");/*** List(ArrayList)——>Set集合*/// HashSet构造器传入ListList<Student> sList =new ArrayList<>();sList.add(new Student(18,"zhangsan1"));sList.add(new Student(19,"zhangsan2"));sList.add(new Student(20,"zhangsan3"));Set<Student> sSet = new HashSet<>(sList); //System.out.println(sSet);System.out.println(sSet.getClass());// 使用stream流Set<Student> sSet1 = sList.stream().collect(Collectors.toSet()); //System.out.println(sSet1);System.out.println(sSet1.getClass());System.out.println("-------Set——>List(ArrayList)----------");/*** Set——>List(ArrayList)*///List构造器方法Set< Student> sSet2 = new HashSet<>();sSet2.add(new Student(18,"zhangsan1"));sSet2.add(new Student(19,"zhangsan2"));sSet2.add(new Student(20,"zhangsan3"));List<Student> sList1 = new ArrayList<>(sSet2); //System.out.println(sList1);System.out.println(sList1.getClass());//stream流List<Student> sList2 = sSet2.stream().collect(Collectors.toList()); //System.out.println(sList2);System.out.println(sList2.getClass());System.out.println("-------Set——>Map----------");/*** Set——>Map*/Set< Student> sSet3 = new HashSet<>();sSet3.add(new Student(18,"zhangsan1"));sSet3.add(new Student(19,"zhangsan2"));sSet3.add(new Student(20,"zhangsan3"));//stream流Map<Integer,String> smap = sSet3.stream().collect(Collectors.toMap(Student::getAge,Student::getName));System.out.println(smap);System.out.println(smap.getClass());System.out.println("-------Map——>Set----------");/*** Map——>Set*///将Map的全部键转为SetMap<Student,String> map1 = new HashMap<>();map1.put(new Student(18,"zhangsan1"),"zhangsan1");map1.put(new Student(19,"zhangsan2"),"zhangsan2");map1.put(new Student(20,"zhangsan3"),"zhangsan3");Set<Student> keySet = map1.keySet();Set<String> keySet2 = new HashSet<>(map1.values());System.out.println(keySet);System.out.println(keySet.getClass());System.out.println(keySet2);System.out.println(keySet2.getClass());//将Map的全部值转为Set//stream流Set<String> valueSet = map1.values().stream().collect(Collectors.toSet());System.out.println(valueSet);System.out.println(valueSet.getClass());//使用HashSet的构造器接住map.values()的返回值Set<String> valueSet1 = new HashSet<>(map1.values());System.out.println(valueSet1);System.out.println(valueSet1.getClass());System.out.println("-------Map——>List----------");/*** Map——>List*/Map<Student,String> map2 = new HashMap<>();map2.put(new Student(18,"zhangsan1"),"zhangsan1");map2.put(new Student(19,"zhangsan2"),"zhangsan2");map2.put(new Student(20,"zhangsan3"),"zhangsan3");List<Student> valueList = new ArrayList<>(map2.keySet());System.out.println(valueList);System.out.println(valueList.getClass());System.out.println("-------List——>Map----------");/*** List——>Map*/List<Student> list = new ArrayList<>();list.add(new Student(18,"zhangsan1"));list.add(new Student(19,"zhangsan2"));list.add(new Student(20,"zhangsan3"));Map<Integer,String> map3 = list.stream().collect(Collectors.toMap(Student::getAge,Student::getName));System.out.println(map3);System.out.println(map3.getClass());}
}
http://www.dtcms.com/wzjs/508228.html

相关文章:

  • 大型网站建设设备新公司如何做推广
  • 阿里云服务器 做网站网站制作app
  • 运动鞋子网站建设规划书网络快速排名优化方法
  • 网站前端建设都需要什么问题游戏推广合作平台
  • 成都网站建设公司 四川冠辰科技百度pc网页版登录入口
  • 用jsp做网站步骤免费的h5制作网站
  • 惠州网站制作推广公司排名网推项目平台
  • 佛山乐从网站建设公司网站设计图
  • 怎样自己做网站推广热点新闻事件及评论
  • 制作移动端网站价格郑州网站建设公司
  • 杭州滨江网站制作域名被墙检测
  • 做网站的费用是多少钱app推广方法及技巧
  • 奢侈品网站建设方案唐山网站建设方案优化
  • wordpress做小说网站吗美国seo薪酬
  • 公众号采集wordpressseo推广方法
  • 北京做网站的人永久免费制作网页
  • 高唐做网站建设公司东莞推广
  • 下载软件的软件哪个好站长seo
  • 景安 怎么把网站做别名合肥网站排名
  • 网站的ppt方案怎么做网络seo首页
  • 不连接wordpress安装优化关键词排名的工具
  • 2023年税收优惠政策淘宝seo优化排名
  • 网站被攻击空间关了怎么办武汉seo公司哪家专业
  • p2p网贷网站建设哪家好成都最新数据消息
  • 怎么做网站里插入背景音乐企业网站seo推广
  • 台州微网站建设网络游戏推广
  • 如何创建个人博客网站网站优化推广培训
  • 做网站公司哪家靠谱中国公关公司前十名
  • 学校英语网站栏目名称梅州网络推广
  • 广州白云机场网站建设服装营销方式和手段