首页 > 编程语言 >Java8中将List优雅地转Map的多种方式

Java8中将List优雅地转Map的多种方式

时间:2023-11-29 22:26:19浏览次数:40  
标签:Map String no List private public Java8

在代码开发过程中,我们经常需要将List中的元素根据某一个字段进行分组,这个时候,我们就需要把List来转换成Map来满足我们的业务需求,通常我们转换的场景有以下几种:

一、List<Object> 转 Map<String, String>
二、List<Object> 转 Map<String, Object> (返回对象本身)
三、List<Object1> 转 Map<String, Object2> (返回另一个对象)
四、List<Object> 转 Map<String, List<Object>> (分组)【以1个字段分/以多个字段分】

基础代码:

首先创建两个实体类

@Data
public class Student {
   //学号
    private  String no;  
    //姓名
    private  String name;	
}
@Data
public class Teacher{
    //教师号
    private  String no; 
    //姓名 
    private  String name; 
}

一、List

标签:Map,String,no,List,private,public,Java8
From: https://www.cnblogs.com/SmallVillageChief/p/17866033.html

相关文章

  • ArrayList、LinkedList、Vector三种Java集合框架的同义
    ArrayList、LinkedList、Vector是Java集合框架中的三种数据结构,它们的相同点和不同点如下:相同点:都实现了List接口,可以存储有序的元素序列,可以允许重复元素的存在;都支持随机访问(根据元素的索引访问元素),并且访问效率较高;都支持添加、删除、修改等操作,可以动态调整集合中的元素......
  • LinkedList的常见使用方法
    1、addbooleanadd(Ee):在链表后添加一个元素,如果成功,返回true,否则返回false;voidaddFirst(Ee):在链表头部插入一个元素;addLast(Ee):在链表尾部添加一个元素;voidadd(intindex,Eelement):在指定位置插入一个元素。 2、removeEremove():移除链表中第一个元素;booleanremove(Ob......
  • ArrayList的常见使用方法
    List接口常用方法:1、add(Objectelement):向列表的尾部添加指定的元素。2、size():返回列表中的元素个数。3、get(intindex):返回列表中指定位置的元素,index从0开始。4、add(intindex,Objectelement):在列表的指定位置插入指定元素。5、set(inti,Objectelement):将索引......
  • HashMap
    HashMap是一种基于哈希表的数据结构,它通过使用散列算法来存储和检索数据,因此在查找速度上非常高效。在具体格式上,HashMap在JDK1.8之前采用的是数组+链表的格式,而在JDK1.8之后则采用了数组+链表+红黑树的结构。更具体地,HashMap是通过一个公式:index=hash&(table.length-1),来确定元素......
  • Map类型
    Map类型是一种键值对的集合接口,它的实现类主要包括:HashMap、TreeMap、Hashtable以及LinkedHashMap等。其中,HashMap是最常用的Map,它根据key的HashCode值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度。HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多......
  • 【问题记录】【IDEA】启动突然报错 java: Internal error in the mapping processor:
    1 启动报错换了个高版本的IDEA,启动突然报错:2 解决办法添加编译配置参数:-Djps.track.ap.dependencies=false......
  • java集合框架(三)ArrayList的常见使用
    1、ArrayList简介在集合框架中,ArrayList是一个类,实现了List接口:1.ArrayList是以泛型的方式实现的,使用时必须先实例化2.ArrayList实现了randomAccess接口,所以ArrayList支持随机访问3.ArrayList实现了cloneable接口,ArrayList时可以克隆的4.ArrayList不是线程安全的,(Vector是线程......
  • Halcon 与 bitmap 互转
     Halcon与bitmap互转:publicvoidBitmap2HObjectBpp24(Bitmapbmp,outHObjectimage){try{Rectanglerect=newRectangle(0,0,bmp.Width,bmp.Height);BitmapDatasrcBmpData=bmp.......
  • 软件运维实施checklist
    软件运维实施checklist可以帮助您确保在部署和维护软件时没有遗漏或错误。以下是一些通用的步骤,可用于创建一个软件运维实施checklist:定义需求:定义您要检查的内容,例如安全、性能、可靠性、兼容性等。确定关键指标:确定关键指标,以便您可以跟踪和分析每个指标的性能。制定操作策略......
  • Java集合框架之:LinkedList的常见方法使用
    ✨前言✨本篇文章主要介绍JavaLinkedList的使用方法教程及示例代码......