当前位置:首页 > Java技术 > java集合(List集合与Map集合的数据转换)

java集合(List集合与Map集合的数据转换)

2022年08月06日 11:41:01Java技术10

List集合与Map集合的数据转换  

  实现List和Map数据的转换。

    具体要求如下:

    功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中

        1)使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息并加入List

        2) 遍历List,输出每个Student信息

        3) 将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value

        4) 遍历Map,输出每个Entry的key和value

    功能2:定义方法public void mapToList( ){ }将Map中Student映射信息封装到List

        1)创建实体类StudentEntry,可以存储Map中每个Entry的信息

        2) 使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息,并使用Student的id属性作为key,存入Map

        3)创建List对象,每个元素类型是StudentEntry

        4)将Map中每个Entry信息放入List对象

           一,创建学生对象

 

 1 public class Student_3 {
 2 /**
 3  * 使用构造方法Student(int id,String name,int age,String sex )
 4  */
 5     private int id;
 6     private String name;
 7     private int age;
 8     private String sex;
 9 
10     public Student_3() {
11     }
12 
13     public Student_3(int id, String name, int age, String sex) {
14         this.id = id;
15         this.name = name;
16         this.age = age;
17         this.sex = sex;
18     }
19 
20     public int getId() {
21         return id;
22     }
23 
24     public String getName() {
25         return name;
26     }
27 
28     public int getAge() {
29         return age;
30     }
31 
32     public String getSex() {
33         return sex;
34     }
35 
36     public void setId(int id) {
37         this.id = id;
38     }
39 
40     public void setName(String name) {
41         this.name = name;
42     }
43 
44     public void setAge(int age) {
45         this.age = age;
46     }
47 
48     public void setSex(String sex) {
49         this.sex = sex;
50     }
51 
52     @Override
53     public String toString() {
54         return "["+id +" "+ name +" "+ age +" "+ sex+"]";
55     }
56     
57 
58 }

 

  二,创建测试类

 

 1 import java.util.ArrayList;
 2 import java.util.HashMap;
 3 import java.util.Iterator;
 4 import java.util.List;
 5 import java.util.Map;
 6 import java.util.Map.Entry;
 7 import java.util.Set;
 8 
 9 
10 public class Test_3 {
11     //List集合转Map集合
12     public void listToMap(Student_3 s1,Student_3 s2 ){ 
13         //1.创建List集合
14         List<Student_3> list = new ArrayList<>();
15         //2.创建Map集合
16         Map<Integer, Student_3> map = new HashMap<>();
17         //3.传入学生对象
18         list.add(s1);
19         list.add(s2);
20         Iterator<Student_3> it = list.iterator();
21         //4.遍历List集合
22         while(it.hasNext()){
23             Student_3 stu = it.next();
24             //5.将学生id作为Map集合的Key,学生对象作为Map集合的Vaul
25             map.put(stu.getId(), stu);
26         }
27         //6.遍历Map集合
28         Set<Entry<Integer, Student_3>> entrySet = map.entrySet();
29         for (Entry<Integer, Student_3> en : entrySet) {
30             System.out.println(en);
31         }
32         
33     }
34     
35     //Map集合转List集合
36     public void mapToList(Student_3 s3,Student_3 s4){
37         //1.创建Map集合
38         Map< Integer, Student_3> map = new HashMap<>();
39         //2.创建List集合
40         List<Student_3> list = new ArrayList<>();
41         //3.将学生id作为Map集合的Key,学生对象作为Map集合的Vaul
42         map.put(s3.getId(),s3);
43         map.put(s4.getId(),s4);
44         //4.遍历Map集合
45         Set<Entry<Integer, Student_3>> entrySet = map.entrySet();
46         for (Entry<Integer, Student_3> e : entrySet) {
47             //5.将Map集合的值加入到Liat集合中
48             list.add(e.getValue());
49         }
50         //6.遍历List集合
51         Iterator<Student_3> it = list.iterator();
52         while(it.hasNext()){
53             System.out.println(it.next());
54         }
55         
56     }
57     public static void main(String[] args) {
58         //创建四个学生对象
59         Student_3 s1 = new Student_3(101, "张三", 25, "男");
60         Student_3 s2 = new Student_3(102, "马琴", 25, "女");
61         Student_3 s3 = new Student_3(103, "赵薇", 36, "女");
62         Student_3 s4 = new Student_3(104, "李小梅", 31, "女");
63         //创建Test_3的实例
64         Test_3 t = new Test_3();
65         System.out.println("List集合转Map集合");
66         //调用List集合转Map集合方法并传入学生对象s1,s2
67         t.listToMap(s1,s2);
68         System.out.println("\n");
69         System.out.println("Map集合转List集合");
70         //调用Map集合转List集合方法并传入学生对象s3,s4
71         t.mapToList(s3, s4);
72     }
73 }

 

作者:稷下
来源链接:https://www.cnblogs.com/jixia/p/10246765.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/18174.html

标签: Java集合Java
分享给朋友:

“java集合(List集合与Map集合的数据转换)” 的相关文章

java基础知识讲解(一)数据类型和运算符

java基础知识讲解(一)数据类型和运算符

Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。 Java中定义了3类8种基本数据类型 数值型- b...

全面了解 Java 原子变量类

📦 本文以及示例源码已归档在 javacore 一、原子变量类简介 为何需要原子变量类 保证线程安全是 Java 并发编程必须要解决的重要问题。Java 从原子性、可见性、有序性这三大特性入手,确保多线程的数据一致性。 确保线程安全最...

Java 并发核心机制

Java 并发核心机制

📦 本文以及示例源码已归档在 javacore 一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具类,是 Java 并发能力的主要体现(注意,不是全部,有部分并发能力的支持在其他包中)。...

Java 内存模型

Java 内存模型

📦 本文以及示例源码已归档在 javacore Java 内存模型(Java Memory Model),简称 JMM。 JVM 中试图定义一种 JMM 来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。...

Java日志框架那些事儿

Java日志框架那些事儿

在项目开发过程中,我们可以通过 debug 查找问题。而在线上环境我们查找问题只能通过打印日志的方式查找问题。因此对于一个项目而言,日志记录是一个非常重要的问题。因此,如何选择一个合适的日志记录框架也非常重要。在Java开发中,常用的日志记录框架有JDKLog、Log4J、LogBack、SLF4J...

JDBC连接时所犯错误1.字符集设置不合适2.连接MySQL8.0社区版时时区不一致3..包名不能以Java.命名4.驱动被弃用

Microsoft JDBC Driver 的主页为:https://msdn.microsoft.com/en-us/data/aa937724.aspx 下载所需驱动 今天连接时报了四次错,记录下来 1.java.sql.SQLException:...

冒泡排序的原理,思路,以及算法分析(Java实现)

冒泡排序的原理,思路,以及算法分析(Java实现)

冒泡排序 如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式。 1.原理:比较两个相邻的元素,将值大的元素交换到右边 2.思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 (1)第一次比较:首先比较第...

枚举法 之Java实现凑硬币

问题? 如何利用1元五元十元凑硬币 Scanner in=new Scanner(System.in); int amout ; amout=in.nextInt(); for(int one =0;one<=amout;one+...

Java实现阶乘运算

n!=123*…n 学习编程就是要了解从问题到程序是如何实现的 Scanner in=new Scanner(System.in); int n ; n=in.nextInt(); // int i=1; int factor=1;...

java之整数的分解可以理解为倒序输出

Scanner in=new Scanner(System.in); int number ; number=in.nextInt(); int result=0; do{ int diget=number%10;...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。