Java三種方法將List轉(zhuǎn)換為Map的實(shí)例
1.for循環(huán)
import com.google.common.base.Function;
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListToMap {
public static void main(String[] args) {
List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setId(1L);
user1.setAge("12");
User user2 = new User();
user2.setId(2L);
user2.setAge("13");
userList.add(user1);
userList.add(user2);
Map<Long, User> maps = new HashMap<>();
for (User user : userList) {
maps.put(user.getId(), user);
}
System.out.println(maps);
}
public static class User {
private Long id;
private String age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", age='" + age + '\'' +
'}';
}
}
}
2.使用guava
Map<Long, User> maps = Maps.uniqueIndex(userList, new Function<User, Long>() {
@Override
public Long apply(User user) {
return user.getId();
}
});
3.使用JDK1.8
Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, user -> user));
看來(lái)還是使用JDK 1.8方便一些。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Java Calendar類(lèi)常用示例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
從JDK1.1版本開(kāi)始,在處理日期和時(shí)間時(shí),系統(tǒng)推薦使用Calendar類(lèi)進(jìn)行實(shí)現(xiàn)。接下來(lái)通過(guò)實(shí)例代碼給大家詳細(xì)介紹Java Calendar類(lèi)相關(guān)知識(shí),需要的朋友參考下吧2017-04-04
RabbitMQ實(shí)現(xiàn)消息可靠性傳遞過(guò)程講解
消息的可靠性傳遞是指保證消息百分百發(fā)送到消息隊(duì)列中去,這篇文章主要介紹了RabbitMQ實(shí)現(xiàn)消息可靠性傳遞過(guò)程,感興趣想要詳細(xì)了解可以參考下文2023-05-05
基于java中stack與heap的區(qū)別,java中的垃圾回收機(jī)制的相關(guān)介紹
本篇文章小編將為大家介紹,基于java中stack與heap的區(qū)別,java中的垃圾回收機(jī)制的相關(guān)介紹,需要的可以參考一下2013-04-04
Java中jar包運(yùn)行后顯示:沒(méi)有主清單屬性的解決方案
這篇文章主要介紹了Java中jar包運(yùn)行后顯示:沒(méi)有主清單屬性的解決方案,文中給大家分析了三個(gè)主要原因,并通過(guò)代碼示例和圖文講解的非常詳細(xì),需要的朋友可以參考下2024-04-04
Java控制臺(tái)版五子棋的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Java控制臺(tái)版五子棋的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Spring案例打印機(jī)的實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Spring案例打印機(jī)的實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
java異常中throw和throws的區(qū)別及說(shuō)明
這篇文章主要介紹了java異常中throw和throws的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
使用Maven進(jìn)行多模塊項(xiàng)目管理的操作步驟
使用Maven進(jìn)行多模塊項(xiàng)目管理可以清晰組織大型項(xiàng)目結(jié)構(gòu),便于維護(hù)和構(gòu)建,詳細(xì)步驟包括創(chuàng)建父項(xiàng)目,設(shè)置pom.xml,創(chuàng)建子模塊,并配置子模塊的pom.xml,在父項(xiàng)目中管理依賴(lài),通過(guò)命令行構(gòu)建項(xiàng)目,確保配置一致性2024-10-10
詳解java接口基礎(chǔ)知識(shí)附思維導(dǎo)圖
這篇文章主要介紹了java接口基礎(chǔ)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

