国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用Stream流將List轉(zhuǎn)換為Map

這篇具有很好參考價值的文章主要介紹了如何使用Stream流將List轉(zhuǎn)換為Map。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

如何使用Stream流將List轉(zhuǎn)換為Map

以下程序用到的基礎(chǔ)代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-767593.html

final static List<Student> studentList = new ArrayList<Student>();

/**
 * 初始化集合數(shù)據(jù)
 */
static {
   Student stu1 = new Student("0001", "張三", 12, "江蘇南京");
   Student stu2 = new Student("0002", "李四", 14, "江蘇無錫");
   Student stu3 = new Student("0003", "王二", 11, "浙江臺州");
   Student stu4 = new Student("0004", "李五", 12, "浙江溫州");


   studentList.add(stu1);
   studentList.add(stu2);
   studentList.add(stu3);
   studentList.add(stu4);
}

List<Object> 轉(zhuǎn)化為Map<String,Object>

Map<String, Student> map = studentList.stream().collect(Collectors.toMap(Student::getId, each -> each, (value1, value2) -> value1));

List<Object>轉(zhuǎn)化為Map<String,String>

Map<String, String> map = studentList.stream().collect(Collectors.toMap(Student::getName, Student::getAddress, (value1, value2) -> value1));

List<Object>轉(zhuǎn)化為Map<String,List<Object>>

Map<Integer, List<Student>> map = studentList.stream().collect(Collectors.groupingBy(Student::getAge));

List<Object>轉(zhuǎn)化為Map<String,List<String>>

Map<String, List<String>> map3 = studentList.stream().collect(Collectors.toMap(Student::getId, each -> Collections.singletonList(each.getName()), (value1, value2) -> {
			List<String> union = new ArrayList<>(value1);
			union.addAll(value2);
			return union;
}));

List<Map<String,Object>> 轉(zhuǎn)化為Map<String,Object>

final static List<Map<String, Object>> mapStudentList = new ArrayList<>();
public static void main(String[] args) {
		Map<String, Object> map4 = mapStudentList.stream().collect(Collectors.toMap(each -> Objects.toString(each.get("id"), ""), each -> each.get("student"), (key1, key2) -> key1));
	}


	/**
	 * 初始化集合數(shù)據(jù)
	 */
	static {
		Student stu1 = new Student("0001", "張三", 12, "江蘇南京");
		Student stu2 = new Student("0002", "李四", 14, "江蘇無錫");
		Student stu3 = new Student("0003", "王二", 11, "浙江臺州");
		Student stu4 = new Student("0004", "李五", 12, "浙江溫州");


		Map<String, Object> map1 = new HashMap<>();
		map1.put("id", "0001");
		map1.put("student", stu1);

		Map<String, Object> map2 = new HashMap<>();
		map2.put("id", "0002");
		map2.put("student", stu2);

		Map<String, Object> map3 = new HashMap<>();
		map3.put("id", "0003");
		map3.put("student", stu3);

		Map<String, Object> map4 = new HashMap<>();
		map4.put("id", "0004");
		map4.put("student", stu4);

		mapStudentList.add(map1);
		mapStudentList.add(map2);
		mapStudentList.add(map3);
		mapStudentList.add(map4);
	}

List<Map<String,String>> 轉(zhuǎn)化為Map<String,Map<String,String>>

    final static List<Map<String, String>> listMapList = new ArrayList<>();


	public static void main(String[] args) {
		Map<String, Map<String, String>> map5 = listMapList.stream().collect(Collectors.toMap(each -> each.get("id"), each -> each, (key1, key2) -> key1));
		System.out.println("map5 = " + map5);

	}

	/**
	 * 初始化集合數(shù)據(jù)
	 */
	static {
		Map<String, String> map1 = new HashMap<>();
		map1.put("id", "0001");
		map1.put("name", "張三");
		map1.put("age", "12");
		map1.put("address", "江蘇南京");

		Map<String, String> map2 = new HashMap<>();
		map2.put("id", "0002");
		map2.put("name", "李四");
		map2.put("age", "14");
		map2.put("address", "江蘇無錫");


		Map<String, String> map3 = new HashMap<>();
		map3.put("id", "0003");
		map3.put("name", "王二");
		map3.put("age", "11");
		map3.put("address", "浙江臺州");

		Map<String, String> map4 = new HashMap<>();
		map4.put("id", "0004");
		map4.put("name", "李五");
		map4.put("age", "12");
		map4.put("address", "浙江溫州");


		listMapList.add(map1);
		listMapList.add(map2);
		listMapList.add(map3);
		listMapList.add(map4);
	}

List<Map<String,String>> 轉(zhuǎn)化為Map<String,String>

     final static List<Map<String, String>> listmapstringlist = new ArrayList<>();

	 public static void main(String[] args) {
     Map<String, String> map6 = listmapstringlist.stream().collect(Collectors.toMap(each -> each.get("id"), each -> each.get("name"), (key1, key2) -> key1));

	}

	/**
	 * 初始化集合數(shù)據(jù)
	 */
	static {
		Map<String, String> map1 = new HashMap<>();
		map1.put("id", "0001");
		map1.put("name", "張三");
		map1.put("age", "12");
		map1.put("address", "江蘇南京");

		Map<String, String> map2 = new HashMap<>();
		map2.put("id", "0002");
		map2.put("name", "李四");
		map2.put("age", "14");
		map2.put("address", "江蘇無錫");


		Map<String, String> map3 = new HashMap<>();
		map3.put("id", "0003");
		map3.put("name", "王二");
		map3.put("age", "11");
		map3.put("address", "浙江臺州");

		Map<String, String> map4 = new HashMap<>();
		map4.put("id", "0004");
		map4.put("name", "李五");
		map4.put("age", "12");
		map4.put("address", "浙江溫州");
		listmapstringlist.add(map1);
		listmapstringlist.add(map2);
		listmapstringlist.add(map3);
		listmapstringlist.add(map4);
	}

到了這里,關(guān)于如何使用Stream流將List轉(zhuǎn)換為Map的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java8使用stream流給List<Map<String,Object>>分組(多字段key)

    Java8使用 stream流 給ListMapString,Object根據(jù)字段key 分組 一、項目場景: 從已得到的List集合中,根據(jù)某一元素(這里指map的key)進行分組,篩選出需要的數(shù)據(jù)。 如果是SQL的話則使用 group by 直接實現(xiàn),代碼的方式則如下: 使用到stream流的 Collectors.groupingBy() 方法。 二、代碼實現(xiàn) 1、首

    2024年02月02日
    瀏覽(87)
  • 使用java8 新特性stream流對List<Map<String, Object>>集合進行遍歷、過濾、查詢、去重、排序、分組

    對于一個ListMapString, Object類型的數(shù)據(jù),可以使用Java 8的新特性stream流來進行遍歷、過濾、查詢、去重、排序、分組等操作。 遍歷: 過濾: 查詢: 去重: 排序: 分組:

    2024年02月10日
    瀏覽(106)
  • Java Stream:List分組成Map或LinkedHashMap

    在Java中,使用Stream API可以輕松地對集合進行操作,包括將List轉(zhuǎn)換為Map或LinkedHashMap。本篇博客將演示如何利用Java Stream實現(xiàn)這兩種轉(zhuǎn)換,同時假設(shè)List中的元素是User對象。 List轉(zhuǎn)Map有兩種Map格式,分別是 MapString, User 和 MapString, List ,下面我將分別展示: 轉(zhuǎn)換成MapString, User我們

    2024年02月03日
    瀏覽(22)
  • list.stream.filter,List<List>轉(zhuǎn)換為List

    可以使用流(Stream)的`flatMap`操作 在這個示例中,我們首先創(chuàng)建了一個嵌套的 List 對象 nestedList ,其中包含了多個 List 。然后,我們使用流的 flatMap 操作將嵌套的 List 展開為一個平鋪的 List ,最后使用 collect 方法將結(jié)果收集到一個新的 List 對象 flatList 中。最后,我們打印出 f

    2024年02月13日
    瀏覽(17)
  • Java Stream 處理分組后取每組最大&Stream流之list轉(zhuǎn)map、分組取每組第一條&Java 8 Collectors:reducing 示例(List分組取最值)

    Java Stream 處理分組后取每組最大&Stream流之list轉(zhuǎn)map、分組取每組第一條&Java 8 Collectors:reducing 示例(List分組取最值)

    有一個需求功能:先按照某一字段分組,再按照另外字段獲取最大的那個 先根據(jù)appId分組,然后根據(jù)versionSort取最大. JDK1.8推出的stream流能極大的簡化對集合的操作,讓代碼更美觀,老規(guī)矩,直接上代碼。 取list中對象的某個屬性作為唯一key,對象作為value形成一個map集合,能

    2024年02月16日
    瀏覽(28)
  • Java——如何使用Stream替換掉List<Student>中符合要求的元素

    要使用Stream流替換掉List中符合特定條件的元素,您可以使用Stream的map()方法對每個元素進行映射,并使用collect()方法將映射后的元素收集到一個新的List中。 示例代碼: 在上述示例中,我們定義了一個Student類來表示學(xué)生,其中包含姓名和年齡屬性。我們創(chuàng)建了一個List對象,

    2024年02月14日
    瀏覽(41)
  • Java中用Stream流對List對象集合轉(zhuǎn)Map時key值重復(fù)的操作

    看完你還不懂,你直接噴·· 定義: 1.List是一個裝Dto對象的集合 2.Dto里面有ID屬性,name屬性等等 3.Dto里面的ID會重復(fù) ?現(xiàn)在要把List轉(zhuǎn)成以ID為key值的map,明顯key不能重復(fù)啊,所以應(yīng)該怎么操作呢? (需要你有java8Stream流的基本概念,map的基本概念) ? 操作1:重復(fù)key,選擇保留

    2024年01月18日
    瀏覽(92)
  • 【Java】集合List轉(zhuǎn)換為數(shù)組【toArray() /stream()流】實現(xiàn)

    在Java中,集合(List 接口的實現(xiàn)類)提供了一個名為 toArray 的方法,用于將集合中的元素轉(zhuǎn)換成數(shù)組。該方法有兩個主要的重載形式,分別用于不同的情況。 這個方法將集合中的元素復(fù)制到一個指定類型的數(shù)組中,并返回該數(shù)組。 如果指定的數(shù)組大小足夠容納集合中的所有

    2024年02月03日
    瀏覽(19)
  • JAVA中對list使用stream對某個字段求和

    對于List對象 或者ListMapString,integer等類型的數(shù)組,如何快速的求出list數(shù)組中某個對象的某個屬性的和,平均數(shù),統(tǒng)計數(shù),最大值,最小值,等: 使用 XXXSummaryStatistics統(tǒng)計類實現(xiàn): 運行結(jié)果如下: 相應(yīng)的還有DoubleSummaryStatistics, LongSummaryStatistics

    2024年02月14日
    瀏覽(95)
  • Java8使用Stream流實現(xiàn)List列表簡單使用

    Java8使用Stream流實現(xiàn)List列表簡單使用

    ?? 目錄 1.forEach() 2.filter(T - boolean) 3.findAny()和findFirst() 4.map(T - R) 和flatMap(T - stream) 5.distinct() 去重 6.limit(long n)和skip(long n)? 7.anyMatch(T - boolean) 8.allMatch(T - boolean) 9.noneMatch(T - boolean) Java8提供了Stream(流)處理集合的關(guān)鍵抽象概念,Stream 使用一種類似用 SQL 語句從數(shù)據(jù)庫查詢數(shù)

    2023年04月27日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包