java将一个包含MisCourseIdSwitch对象的列表list转换为一个Map其中key是MisCourseIdSwitch对象的sysCourseId属性加schoolID属性value是对应的MisCourseIdSwitch对象
您可以使用Java 8的流(stream)和Collectors.toMap()方法来实现将列表转换为Map的操作。假设MisCourseIdSwitch对象的sysCourseId属性和schoolID属性都是字符串类型,您可以按照以下方式进行转换:
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<MisCourseIdSwitch> misCourseIdSwitchList = ...; // 假设已经有一个包含MisCourseIdSwitch对象的列表
Map<String, MisCourseIdSwitch> misCourseIdSwitchMap = misCourseIdSwitchList.stream()
.collect(Collectors.toMap(
misCourseIdSwitch -> misCourseIdSwitch.getSysCourseId() + misCourseIdSwitch.getSchoolID(),
misCourseIdSwitch -> misCourseIdSwitch
));
// 打印转换后的Map
misCourseIdSwitchMap.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
}
}
在上述代码中,我们通过stream()方法将列表转换为流,然后使用Collectors.toMap()方法来创建一个新的Map。toMap()方法的第一个参数是Key的生成函数,将MisCourseIdSwitch对象的sysCourseId属性和schoolID属性拼接为Key;第二个参数是Value的生成函数,直接使用MisCourseIdSwitch对象作为Value。最后,我们使用forEach()方法遍历Map并打印其中的Key和Value。
请注意,如果列表中的MisCourseIdSwitch对象的sysCourseId属性加schoolID属性存在重复的情况,将会抛出IllegalStateException异常
原文地址: http://www.cveoy.top/t/topic/ii7q 著作权归作者所有。请勿转载和采集!