91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在Java8中將List轉換為Map對象

發布時間:2021-02-22 15:56:28 來源:億速云 閱讀:187 作者:Leah 欄目:編程語言

這篇文章給大家介紹怎么在Java8中將List轉換為Map對象,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Java的特點有哪些

Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

假設有一個員工對象:

<b>public</b> <b>class</b> Employee {
  <font><i>// member variables</i></font><font>
  <b>private</b> <b>int</b> empId;
  <b>private</b> String empName;
  <b>private</b> <b>int</b> empAge;
  <b>private</b> String empDesignation;
</font>

1. 比如式樣員工對象的empId作為key,值是員工姓名:

 <font><i>// convert List<Employee> to Map<empId, empName> using Java 8 Streams</i></font><font>
 Map<Integer, String> mapOfEmployees = employees.stream().collect(
    Collectors.toMap(e -> e.getEmpId(),e -> e.getEmpName()));
</font>

2.Map的Key是empId,整個對象為Map的值:

 <font><i>// convert List<Employee> to Map<empId, empName> using Java 8 Streams</i></font><font>
Map<Integer, Employee> mapOfEmployees = employees.stream().collect(
        Collectors.toMap( e -> e.getEmpId(), e -> e));
</font>

3. 如果List中有重復的empId,映射到Map時,Key時不能重復的,如何解決?

默認情況時會拋重復異常,為了克服IllegalStateException重復鍵異常,我們可以簡單地添加一個

BinaryOperator方法到toMap()中,這也稱為合并功能,比如如果重復,可以取第一個元素:

Map<Integer, String> mapOfEmployees = employees.stream().collect(
        Collectors.toMap(
            e -> e.getEmpId(), 
            e -> e.getEmpName(), 
            (e1, e2) -> e1 )); <font><i>// Merge Function</i></font><font>
</font>

4. 將List轉換為Map - 使用TreeMap對鍵進行自然排序,或者指定的Map實現呢?

 Map<Integer, String> mapOfEmployees = employees.stream().collect(
        Collectors.toMap(
            e -> e.getEmpId(), 
            e -> e.getEmpName(), 
            (e1, e2) -> e1 , <font><i>// Merge Function</i></font><font>
            TreeMap<Integer, String>::<b>new</b>)); </font><font><i>// Map Supplier</i></font><font>
</font>

如果你的TreeMap實現需要加入比較器,將上面代碼中TreeMap<Integer, String>::new替換成:

() -> new TreeMap<Integer, String>(new MyComparator())

關于怎么在Java8中將List轉換為Map對象就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

忻州市| 且末县| 太保市| 嘉善县| 邢台市| 昌平区| 宣汉县| 旬阳县| 淮安市| 南宁市| 阳谷县| 彝良县| 襄汾县| 瑞安市| 华蓥市| 昌黎县| 湖州市| 宜昌市| 凤山县| 台东县| 塘沽区| 大安市| 通海县| 宝兴县| 甘洛县| 沁阳市| 东丰县| 武川县| 凤庆县| 嘉祥县| 辛集市| 芦山县| 鄂托克前旗| 紫云| 新乡县| 蓬莱市| 天津市| 邵东县| 通化县| 巴南区| 苏尼特右旗|