中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java中collectors.tomap的用法是什么

小億
123
2023-12-27 23:44:30
欄目: 編程語言

在Java中,Collectors.toMap()方法用于將流(Stream)元素收集到Map集合中。它接受兩個參數,分別是keyMapper和valueMapper,用于指定如何生成Map的鍵和值。

語法:

public static <T, K, U> Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper)

參數說明:

  • T:流元素的類型
  • K:生成Map的鍵的類型
  • U:生成Map的值的類型
  • keyMapper:將流元素映射為鍵的函數
  • valueMapper:將流元素映射為值的函數

示例: 假設有一個Person類,包含name和age屬性。現在有一個Person的List,我們想將List中的Person對象按照name作為鍵,age作為值,生成一個Map。

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Person> persons = List.of(
                new Person("Alice", 25),
                new Person("Bob", 30),
                new Person("Charlie", 35)
        );

        Map<String, Integer> map = persons.stream()
                .collect(Collectors.toMap(Person::getName, Person::getAge));
        System.out.println(map);
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

輸出結果:

{Alice=25, Bob=30, Charlie=35}

在上面的示例中,通過Collectors.toMap(Person::getName, Person::getAge),將List中的Person對象按照name作為鍵,age作為值,生成了一個Map。最后輸出結果為{Alice=25, Bob=30, Charlie=35}

0
潼关县| 延长县| 曲水县| 孙吴县| 齐河县| 华蓥市| 漳浦县| 海宁市| 嘉鱼县| 星座| 盐源县| 云林县| 云梦县| 依安县| 讷河市| 竹山县| 襄樊市| 高尔夫| 神农架林区| 鄄城县| 汕头市| 连州市| 方城县| 镇原县| 桃园县| 禄丰县| 昌都县| 溆浦县| 潜江市| 杭锦旗| 文化| 祁阳县| 保康县| 高雄县| 浦县| 太和县| 秦皇岛市| 花莲市| 兰溪市| 康保县| 许昌县|