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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中List使用stream流轉成map的方法有哪些

發布時間:2023-04-19 17:21:26 來源:億速云 閱讀:260 作者:iii 欄目:開發技術

這篇文章主要介紹了Java中List使用stream流轉成map的方法有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java中List使用stream流轉成map的方法有哪些文章都會有所收獲,下面我們一起來看看吧。

    實體例子

    public class Person {
        private String name;
        private String address;
        public Person(String name, String address) {
            this.name = name;
            this.address = address;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
    }

    List 轉成Map<String,Object>

    	List<Person> list = new ArrayList<>();
    	Person person1 = new Person("熊大","森林第一個小屋");
    	Person person2 = new Person("熊二","森林第二個小屋");
    	Person person3 = new Person("光頭強","森林第三個小屋");
    	Person person4 = new Person("熊大","森林第四個小屋");
    	list.add(person1);
    	list.add(person2);
    	list.add(person3);
    	list.add(person4);
    	Map<String,Person> map =  list.stream().collect(Collectors.toMap(Person::getName,each->each,(value1, value2) -> value1));
    	System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“光頭強”:{“address”:“森林第三個小屋”,“name”:“光頭強”},“熊大”:{“address”:“森林第一個小屋”,“name”:“熊大”},“熊二”:{“address”:“森林第二個小屋”,“name”:“熊二”}}

    List 轉成Map<String,String>

    	List<Person> list = new ArrayList<>();
    	Person person1 = new Person("熊大","森林第一個小屋");
    	Person person2 = new Person("熊二","森林第二個小屋");
    	Person person3 = new Person("光頭強","森林第三個小屋");
    	Person person4 = new Person("熊大","森林第四個小屋");
    	list.add(person1);
    	list.add(person2);
    	list.add(person3);
    	list.add(person4);
    	Map<String,String> map =  list.stream().collect(Collectors.toMap(Person::getName,Person::getAddress,(value1, value2) -> value1));
    	System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“光頭強”:“森林第三個小屋”,“熊大”:“森林第一個小屋”,“熊二”:“森林第二個小屋”}

    List 轉成Map<String,List>

    方法一:

    	List<Person> list = new ArrayList<>();
    	Person person1 = new Person("熊大","森林第一個小屋");
    	Person person2 = new Person("熊二","森林第二個小屋");
    	Person person3 = new Person("光頭強","森林第三個小屋");
    	Person person4 = new Person("熊大","森林第四個小屋");
    	list.add(person1);
    	list.add(person2);
    	list.add(person3);
    	list.add(person4);
    	Map<String, List<Person>> map = list.stream().collect(Collectors.groupingBy(Person::getName));
    	System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“光頭強”:[{“address”:“森林第三個小屋”,“name”:“光頭強”}],“熊大”:[{“address”:“森林第一個小屋”,“name”:“熊大”},{“address”:“森林第四個小屋”,“name”:“熊大”}],“熊二”:[{“address”:“森林第二個小屋”,“name”:“熊二”}]}

    方法二:

    	List<Person> list = new ArrayList<>();
    	Person person1 = new Person("熊大","森林第一個小屋");
    	Person person2 = new Person("熊二","森林第二個小屋");
    	Person person3 = new Person("光頭強","森林第三個小屋");
    	Person person4 = new Person("熊大","森林第四個小屋");
    	list.add(person1);
    	list.add(person2);
    	list.add(person3);
    	list.add(person4);
    	Map<String,List<Person>> map =  list.stream().collect(Collectors.toMap(Person::getName,each->Collections.singletonList(each),(value1, value2) -> {
                List<Person> union = new ArrayList<>(value1);
                union.addAll(value2);
                return union;
            }));
    	System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“光頭強”:[{“address”:“森林第三個小屋”,“name”:“光頭強”}],“熊大”:[{“address”:“森林第一個小屋”,“name”:“熊大”},{“address”:“森林第四個小屋”,“name”:“熊大”}],“熊二”:[{“address”:“森林第二個小屋”,“name”:“熊二”}]}

    List 轉成Map<String,List>

    	List<Person> list = new ArrayList<>();
    	Person person1 = new Person("熊大","森林第一個小屋");
    	Person person2 = new Person("熊二","森林第二個小屋");
    	Person person3 = new Person("光頭強","森林第三個小屋");
    	Person person4 = new Person("熊大","森林第四個小屋");
    	list.add(person1);
    	list.add(person2);
    	list.add(person3);
    	list.add(person4);
    	Map<String,List<String>> map = list.stream().collect(Collectors.toMap(Person::getName,each->Collections.singletonList(each.getAddress()),(value1, value2) -> {
                List<String> union = new ArrayList<>(value1);
                union.addAll(value2);
                return union;
            }));
    	System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“光頭強”:[“森林第三個小屋”],“熊大”:[“森林第一個小屋”,“森林第四個小屋”],“熊二”:[“森林第二個小屋”]}

    List<Map<String,Object>> 轉成Map<String,Map<String,Object>>

    		List<Map<String,Object>> list = new ArrayList<>();
            Person person1 = new Person("熊大","森林第一個小屋");
            Person person2 = new Person("熊二","森林第二個小屋");
            Person person3 = new Person("光頭強","森林第三個小屋");
            Map<String,Object> map1 = new HashMap<>();
            map1.put("id","1");
            map1.put("person",person1);
            Map<String,Object> map2 = new HashMap<>();
            map2.put("id","2");
            map2.put("person",person2);
            Map<String,Object> map3 = new HashMap<>();
            map3.put("id","3");
            map3.put("person",person3);
            list.add(map1);
            list.add(map2);
            list.add(map3);
            Map<String,Map<String,Object>> map = list.stream().collect(Collectors.toMap(each->Objects.toString(each.get("id"),""),each->each,(key1,key2)->key1));
            System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“1”:{“person”:{“address”:“森林第一個小屋”,“name”:“熊大”},“id”:“1”},“2”:{“person”:{“address”:“森林第二個小屋”,“name”:“熊二”},“id”:“2”},“3”:{“person”:{“address”:“森林第三個小屋”,“name”:“光頭強”},“id”:“3”}}

    List<Map<String,Object>> 轉成Map<String,Object>

    		List<Map<String,Object>> list = new ArrayList<>();
            Person person1 = new Person("熊大","森林第一個小屋");
            Person person2 = new Person("熊二","森林第二個小屋");
            Person person3 = new Person("光頭強","森林第三個小屋");
            Map<String,Object> map1 = new HashMap<>();
            map1.put("id","1");
            map1.put("person",person1);
            Map<String,Object> map2 = new HashMap<>();
            map2.put("id","2");
            map2.put("person",person2);
            Map<String,Object> map3 = new HashMap<>();
            map3.put("id","3");
            map3.put("person",person3);
            list.add(map1);
            list.add(map2);
            list.add(map3);
            Map<String,Object> map = list.stream().collect(Collectors.toMap(each->Objects.toString(each.get("id"),""),each->each.get("person"),(key1,key2)->key1));
            System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“1”:{“address”:“森林第一個小屋”,“name”:“熊大”},“2”:{“address”:“森林第二個小屋”,“name”:“熊二”},“3”:{“address”:“森林第三個小屋”,“name”:“光頭強”}}

    List<Map<String,String>> 轉成Map<String,Map<String,String>>

    		List<Map<String,String>> list = new ArrayList<>();
            Map<String,String> map1 = new HashMap<>();
            map1.put("id","1");
            map1.put("name","熊大");
            map1.put("address","森林第一個小屋");
            Map<String,String> map2 = new HashMap<>();
            map2.put("id","2");
            map2.put("name","熊二");
            map2.put("address","森林第二個小屋");
            Map<String,String> map3 = new HashMap<>();
            map3.put("id","3");
            map3.put("name","光頭強");
            map3.put("address","森林第三個小屋");
            list.add(map1);
            list.add(map2);
            list.add(map3);
            Map<String,Map<String,String>> map = list.stream().collect(Collectors.toMap(each->each.get("id"),each->each,(key1,key2)->key1));
            System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“1”:{“address”:“森林第一個小屋”,“name”:“熊大”,“id”:“1”},“2”:{“address”:“森林第二個小屋”,“name”:“熊二”,“id”:“2”},“3”:{“address”:“森林第三個小屋”,“name”:“光頭強”,“id”:“3”}}

    List<Map<String,String>> 轉成Map<String,String>

    		List<Map<String,String>> list = new ArrayList<>();
            Map<String,String> map1 = new HashMap<>();
            map1.put("id","1");
            map1.put("name","熊大");
            map1.put("address","森林第一個小屋");
            Map<String,String> map2 = new HashMap<>();
            map2.put("id","2");
            map2.put("name","熊二");
            map2.put("address","森林第二個小屋");
            Map<String,String> map3 = new HashMap<>();
            map3.put("id","3");
            map3.put("name","光頭強");
            map3.put("address","森林第三個小屋");
            list.add(map1);
            list.add(map2);
            list.add(map3);
            Map<String,String> map = list.stream().collect(Collectors.toMap(each->each.get("id"),each->each.get("name"),(key1,key2)->key1));
            System.out.println(JSON.toJSONString(map));

    控制臺打印日志:

    {“1”:“熊大”,“2”:“熊二”,“3”:“光頭強”}

    關于“Java中List使用stream流轉成map的方法有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java中List使用stream流轉成map的方法有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    林西县| 大化| 驻马店市| 威远县| 缙云县| 渝北区| 广南县| 寿宁县| 云梦县| 五莲县| 元朗区| 凉城县| 于田县| 西乌珠穆沁旗| 济源市| 张家口市| 松溪县| 肥城市| 太康县| 南召县| 赣州市| 浙江省| 绥化市| 绥芬河市| 邯郸县| 北票市| 黑龙江省| 霸州市| 若尔盖县| 大余县| 武定县| 通许县| 昌黎县| 乌拉特中旗| 通辽市| 太仆寺旗| 仁化县| 洮南市| 二连浩特市| 河津市| 滦南县|