// 將list轉換成Map類型 Map<String, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));
// 如果報 map里的value空指針異常,則需要在value,也就是toMap()的第二個參數進行空(null)值的判斷邏輯;例如:也就是 Person::getName 改成 p -> p.getName()==null?"":p.getName()就可以解決value為null問題 // <Person, String, String> Collector<Person, ?, Map<String, String>> java.util.stream.Collectors.toMap(Function<? super Person, ? extends String> keyMapper, Function<? super Person, ? extends String> valueMapper, BinaryOperator<String> mergeFunction) // toMap()第三個參數是當有重復的Key時,會執行這段邏輯,傳入2個參數,第一個參數是已經存在Map的value值,第二個是即將覆蓋的value值,最終返回哪個值為准