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

溫馨提示×

溫馨提示×

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

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

Java8處理List中雙層循環問題的解決方法

發布時間:2020-08-19 10:02:39 來源:億速云 閱讀:1575 作者:小新 欄目:開發技術

小編給大家分享一下Java8處理List中雙層循環問題的解決方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

Java處理List的雙層循環程序員經常遇到,一般都是當兩個List某個值滿足某條件時候,進行相應的處理;

1.list和map之間的相互轉換

/**
 * 兩個List對象當id相同的時候(注意是兩個對象,而非兩個集合)
 * @param husbands
 * @param wives
 */
private static void test8(List<Husband> husbands, List<Wife> wives) {
  List<Family> families = Lists.newArrayList();
  //將wives轉換為map,這里的key一定要唯一,即為familyId
  Map<Integer, Wife> wifeMap = wives.stream().collect(toMap(w -> w.getFamilyId(), w -> w));
  families = husbands.stream().map(husband -> {
    Family family = new Family();
    Wife wife = wifeMap.get(husband.getFamilyId());
    family.setFamilyId(wife.getFamilyId());
    family.setHusbandName(husband.getHusbandName());
    family.setWifeName(husband.getWifename());
    return family;
  }).collect(Collectors.toList());
}

2.java8中的

groupingBy

counting

mapToDouble

filter

sum等函數方法的使用

//蘋果顏色對應的數量
Map<String, Long> collect = appleVos.stream().collect(groupingBy(AppleVo::getColor, counting()));
// 過濾掉顏色為黑色的蘋果,并匯總好蘋果的總金額
Double sum = appleVos.stream().filter(i -> "black".equals(i.getColor())).mapToDouble(AppleVo::getPrice).sum();

補充知識:java8新技術:數據流式處理之兩個list集合多對多遍歷關聯

自用測試方法

Java8處理List中雙層循環問題的解決方法

說明一下:list1和list2兩個集合進行匹配,將list2中的對應的值取出,使list1中的每條數據都有對應的list2中的name值,list1為主集合,數據需全部展示;

注意:若list1的數量多于list2,并且數據匹配不上,則多出來的會在list3中為null;

看完了這篇文章,相信你對Java8處理List中雙層循環問題的解決方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

郧西县| 科尔| 大悟县| 锦屏县| 凯里市| 剑阁县| 那坡县| 锡林浩特市| 孝义市| 宜宾市| 平潭县| 合阳县| 临海市| 太康县| 图木舒克市| 洱源县| 神木县| 沁阳市| 大姚县| 杂多县| 乌兰察布市| 息烽县| 合水县| 庆阳市| 博乐市| 称多县| 河北区| 丰镇市| 新巴尔虎右旗| 迭部县| 昂仁县| 瓮安县| 靖远县| 莫力| 江油市| 衢州市| 视频| 当涂县| 乌海市| 休宁县| 望谟县|