最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

判斷List和Map是否相等并合并List中相同的Map

 更新時間:2018年12月11日 08:56:45   作者:執(zhí)筆記憶的空白  
今天小編就為大家分享一篇關(guān)于判斷List和Map是否相等并合并List中相同的Map,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

List、Set、Map判斷兩個對象相等的標準

  • List:通過equals()方法比較返回true即可。
  • HashSet:先比較兩個對象hashCode()方法返回的值是否相等,如果不相等就認為兩個對象是不相等的,如果兩個對象的hashCode相等就繼續(xù)調(diào)用equals()方法進一步判斷兩個對象是否相等,如果equals()方法返回true認為兩個對象相等,返回false認為兩個對象不相等。
  • TreeSet:兩個對象通過compareTo(Object obj)方法比較是否返回0:如果返回0,則認為相等,否則不相等。
  • HashMap、HashTable:(1)兩個key通過equals()方法比較返回true,兩個key的hashCode值也相等;(2)value與另外一個對象通過equals()方法比較返回true即可。
  • TreeMap:兩個key值通過compareTo()方法返回0,TreeMap即認為這兩個key是相等的。
/**
   * 根據(jù)特定規(guī)格,判斷兩個Map是否相等
   */
  private static boolean isEquals(Map<String, String> src, Map<String, String> dest, String[] samekey) {
    boolean equals = true;
    StringBuffer sbf_src = new StringBuffer();
    StringBuffer sbf_dest = new StringBuffer();
    for (int i = 0; i < samekey.length; i++) {
      sbf_src.append(src.get(samekey[i]));
      sbf_dest.append(dest.get(samekey[i]));
    }
    if (sbf_src.toString().equals(sbf_dest.toString())) {
      equals = true;
    } else {
      equals = false;
    }
    return equals;
  }
  /**
   * 獲得list中有沒有相同的keyMap(待需找的map)<br>
   * 如果找到則返回這個list和keyMap相同Map的下標,否則返回-1
   */
  private static int getEqualsMap(List<Map<String, String>> list, Map<String, String> keyMap, String[] samekey) {
    int equalsIndex = -1;
    for (int i = 0; i < list.size(); i++) {
      Map<String, String> tempMap = list.get(i);
      if (isEquals(tempMap, keyMap, samekey)) {
        equalsIndex = i;
      }
    }
    return equalsIndex;
  }
  /**
   * 合并List中相同的Map
   * @param list
   * @return
   */
  public static List<Map<String, String>> combineList(List<Map<String, String>> list, String[] samekey,String combinekey) {
    List<Map<String, String>> retList = new ArrayList<Map<String, String>>();
    for (int i = 0; i < list.size(); i++) {
      Map<String, String> tempMap = list.get(i);
      int equalsIndex = getEqualsMap(retList, tempMap, samekey);
      if (-1 == equalsIndex) {
        retList.add(tempMap);
      } else {
        String custSrc = retList.get(equalsIndex).get(combinekey);
        int custSrcInt = Integer.parseInt(custSrc.substring(0, custSrc.length() - 1));
        String custTemp = tempMap.get(combinekey);
        int custTempInt = Integer.parseInt(custTemp.substring(0, custTemp.length() - 1));
        String destCust = (custSrcInt + custTempInt) + custSrc.substring(custSrc.length() - 1);
        retList.get(equalsIndex).put(combinekey, destCust);
      }
    }
    return retList;
  }

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • 使用log4j2打印mybatis的sql執(zhí)行日志方式

    使用log4j2打印mybatis的sql執(zhí)行日志方式

    這篇文章主要介紹了使用log4j2打印mybatis的sql執(zhí)行日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java9新特性Collection集合類的增強與優(yōu)化方法示例

    java9新特性Collection集合類的增強與優(yōu)化方法示例

    這篇文章主要為大家介紹了java9新特性Collection集合類的增強與優(yōu)化方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • SpringBoot+SpringSecurity處理Ajax登錄請求問題(推薦)

    SpringBoot+SpringSecurity處理Ajax登錄請求問題(推薦)

    這篇文章主要介紹了SpringBoot+SpringSecurity處理Ajax登錄請求問題,本文給大家介紹的非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Springboot中yml文件不生效原因分析及解決

    Springboot中yml文件不生效原因分析及解決

    這篇文章給大家介紹了Springboot中yml文件不生效原因分析及解決方法,通過圖文給大家講解的非常詳細,對大家解決問題有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Java使用Unsafe類的示例詳解

    Java使用Unsafe類的示例詳解

    java不能直接訪問操作系統(tǒng)底層,而是通過本地方法來訪問。Unsafe類提供了硬件級別的原子操作,這篇文章主要介紹了Java使用Unsafe類,需要的朋友可以參考下
    2021-09-09
  • JAVA Static關(guān)鍵字的用法

    JAVA Static關(guān)鍵字的用法

    這篇文章主要介紹了JAVA Static關(guān)鍵字的用法,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Java根據(jù)前端傳回的圖片生成pdf并且加密碼和水印

    Java根據(jù)前端傳回的圖片生成pdf并且加密碼和水印

    這篇文章主要為大家詳細介紹了java如何根據(jù)前端傳回的png圖片數(shù)組,后端加水印加密碼生成pdf并返回給前端,感興趣的小伙伴可以參考一下
    2025-01-01
  • Spring Boot 靜態(tài)資源處理

    Spring Boot 靜態(tài)資源處理

    今天小編就為大家分享一篇關(guān)于Spring Boot 靜態(tài)資源處理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • springboot健康檢查監(jiān)控全過程

    springboot健康檢查監(jiān)控全過程

    文章介紹了Spring Boot如何使用Actuator和Micrometer進行健康檢查和監(jiān)控,通過配置和自定義健康指示器,開發(fā)者可以實時監(jiān)控應(yīng)用組件的狀態(tài),Micrometer支持多種監(jiān)控系統(tǒng),如Prometheus,而Grafana則用于可視化監(jiān)控數(shù)據(jù),文章還提供了配置示例和常見問題解決方案
    2025-01-01
  • SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn)

    SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn)

    這篇文章主要介紹了SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

双牌县| 天峻县| 浙江省| 视频| 逊克县| 新河县| 宜章县| 玛曲县| 那坡县| 遵义县| 宁安市| 平度市| 沅江市| 巫山县| 灵川县| 吴川市| 汉源县| 元阳县| 金阳县| 榕江县| 庆城县| 抚宁县| 柳河县| 探索| 元阳县| 贵州省| 洱源县| 清新县| 鄂伦春自治旗| 高清| 陕西省| 文登市| 体育| 霞浦县| 盐池县| 内黄县| 阳原县| 乐平市| 广水市| 札达县| 西丰县|