激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 在Java 8中將List轉換為Map對象方法

在Java 8中將List轉換為Map對象方法

2021-06-14 13:53banq Java教程

這篇文章主要介紹了在Java 8中將List轉換為Map對象方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

假設有一個員工對象:

?
1
2
3
4
5
6
7
<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>

將這個員工對象放入list集合,如何轉為map? 首先要明確map的key是什么?

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

?
1
2
3
4
<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的值:

?
1
2
3
4
<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()中,這也稱為合并功能,比如如果重復,可以取第一個元素:

?
1
2
3
4
5
6
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實現呢?

?
1
2
3
4
5
6
7
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替換成:

?
1
() -> new treemap<integer, string>(new mycomparator())

總結

以上所述是小編給大家介紹的在java 8中將list轉換為map對象方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.jdon.com/50731

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一级α片免费看刺激高潮视频 | 久久网站热最新地址 | xxxxhd18hd日本hd| 黄a大片 | 欧美日韩免费看 | 久久久一二三 | 天天操天天插 | 视频国产一区二区 | 日韩精品中文字幕在线播放 | 黄污网站在线观看 | 久久av一区二区 | 日本欧美中文字幕 | 夜夜看 | 视频一区二区三区视频 | 爽妇网国产精品 | 蜜桃av网 | 国产亚洲高清视频 | av在线免费观看不卡 | 国产一区二区精品91 | 日日影视 | 成人精品免费看 | 精品成人一区二区三区 | av在线免费观看不卡 | 日韩毛片网站 | 中文字幕在线观看视频www | qyl在线视频精品免费观看 | asian裸体佳人pics | 91久久国产露脸精品免费 | 看毛片电影 | 亚洲精品午夜国产va久久成人 | 久久国产一二三 | 成人午夜网址 | 国产亚洲高清视频 | 国产日韩成人 | 欧美一级鲁丝片免费看 | 久久aⅴ国产欧美74aaa | 91在线色 | 成人在线视频免费播放 | 久久噜噜噜精品国产亚洲综合 | 日韩精品中文字幕一区二区 | 国产亚洲精品网站 |