欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java比較兩個list是否相同equals的代碼詳解

 更新時間:2020年02月04日 16:57:52   作者:生之須臾亦不負  
在本篇文章里小編給大家分享的是關于java比較兩個list是否相同equals的代碼詳解,有需要的朋友們可以參考學習下。

比較兩個list是否相同,一般我用數(shù)組自帶的函數(shù)equals,如:

public int updateTemplateByVO(ContentTemplateVO contentTemplateVO) throws Exception {
    int flag = 0;
    if (null == contentTemplateVO) {
      return flag;
    }
    //比較新編輯的模板參數(shù)是否與原有的參數(shù)相同
    //新的參數(shù)數(shù)組
    List<String> stringList = getParamListFromTemplateContent(contentTemplateVO);
    //舊的參數(shù)數(shù)組
    List<TContentTemplateParam> tContentTemplateParamList = selectTemplateParamsByTemplateId(contentTemplateVO.getId());
    List<String> paramList = new ArrayList<String>();
     //將從表里獲取的數(shù)組重新整理成包含相同類型的list數(shù)組
    for (TContentTemplateParam contentParam : tContentTemplateParamList) {
      paramList.add(contentParam.getParamName());
    }
     //比較兩個list
    Boolean sameSortFlag = stringList.equals(paramList);
    String content = contentTemplateVO.getSmsMsgContent();
    StringBuilder stringBuilder = new StringBuilder(content);
    //參數(shù)有修改則重新排序
    if (!sameSortFlag) {
      String newContent = rightSortForContentParam(contentTemplateVO.getSmsMsgContent());
      contentTemplateVO.setSmsMsgContent(newContent);
    }
    contentTemplateVO.setUpdateTime(DateUtil.getNowAsDate());

    TContentTemplate tContentTemplate = ModelCopyUtil.copy(contentTemplateVO, TContentTemplate.class);
    flag = tContentTemplateMapper.updateByPrimaryKeySelective(tContentTemplate);
    if (flag == 1 && (!sameSortFlag)) {
      //先刪除對應模板的參數(shù)配置
      deleteContentTemplateParam(contentTemplateVO);
      //重新配置模板參數(shù)
      addContentTemplateParam(contentTemplateVO);

    }
    return flag;
  }

內(nèi)容擴展:

Java的倆個list之間比較,判斷是否一致的方法

前文

我看了一篇博客,是關于判斷倆個list的。看完之后我覺得可能并不是很好。

結合他的思路,我重新整理了一下代碼。

同時也看了看String中的equals的實現(xiàn)。

import java.util.List;
 
public class ListUtil {
  /**
   * 使用時,務必保證每個對象中實現(xiàn)了equals()方法。
   * 如果是自己寫的類,比如,Dog,Cat這些的,請重寫Object中的equals方法!
   *
   * @param aList 左右順序無所謂
   * @param bList 左右順序無所謂
   * @return 盡可能避免相同的情況
   */
  public static boolean equals(List aList, List bList) {
 
    if (aList == bList)
      return true;
 
    if (aList.size() != bList.size())
      return false;
 
    int n = aList.size();
    int i = 0;
    while (n-- != 0) {
      if (!aList.get(i).equals(bList.get(i)))
        return false;
      i++;
    }
 
    return true;
  }
}

代碼過程
首先判斷倆個對象是否相同,如果相同,直接返回true。

接著判斷倆個的長度是否相同,相同才有比較的意義。

依照size,對list進行遍歷。這里是需要用到equals方法,所以在對自己寫的一些實體類判斷的時候,一定要記得實現(xiàn)覆寫hashCode()和equals()方法!同時切記equals方法的傳入?yún)?shù)為Object!否則會因為重載的原因,不調(diào)用你寫的方法。

最后,這個代碼算法復雜度為n。

以上就是本次介紹的全部相關知識點,感謝大家的學習和對腳本之家的支持。

相關文章

  • Java基于FFmpeg實現(xiàn)Mp4視頻轉(zhuǎn)GIF

    Java基于FFmpeg實現(xiàn)Mp4視頻轉(zhuǎn)GIF

    FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。本文主要介紹了在Java中如何基于FFmpeg進行Mp4視頻到Gif動圖的轉(zhuǎn)換,感興趣的小伙伴可以了解一下
    2022-11-11
  • java返回集合為null還是空集合及空集合的三種寫法小結

    java返回集合為null還是空集合及空集合的三種寫法小結

    這篇文章主要介紹了java返回集合為null還是空集合及空集合的三種寫法小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot的啟動速度優(yōu)化

    SpringBoot的啟動速度優(yōu)化

    隨著我們項目的不斷迭代 Bean 的數(shù)量會大大增加,如果都在啟動時進行初始化會非常耗時,本文主要介紹了SpringBoot的啟動速度優(yōu)化,感興趣的可以了解一下
    2023-09-09
  • 記一次公司JVM堆溢出抽絲剝繭定位的過程解析

    記一次公司JVM堆溢出抽絲剝繭定位的過程解析

    這篇文章主要介紹了記一次公司JVM堆溢出抽絲剝繭定位的過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java判讀數(shù)組中是否有重復值的示例

    java判讀數(shù)組中是否有重復值的示例

    這篇文章主要介紹了java判讀數(shù)組中是否有重復值的示例,需要的朋友可以參考下
    2014-04-04
  • java異常處理的簡單練習

    java異常處理的簡單練習

    下面小編就為大家?guī)硪黄猨ava異常處理的簡單練習。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java實現(xiàn)五子棋網(wǎng)絡版

    Java實現(xiàn)五子棋網(wǎng)絡版

    這篇文章主要為大家詳細介紹了基于Java編寫的網(wǎng)絡五子棋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Springboot的spring-boot-maven-plugin導入失敗的解決方案

    Springboot的spring-boot-maven-plugin導入失敗的解決方案

    這篇文章主要介紹了Springboot的spring-boot-maven-plugin導入失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java根據(jù)url抓取并生成縮略圖的示例

    java根據(jù)url抓取并生成縮略圖的示例

    這篇文章主要介紹了java根據(jù)url抓取并生成縮略圖的示例,需要的朋友可以參考下
    2014-05-05
  • Java中的ReentrantReadWriteLock實現(xiàn)原理詳解

    Java中的ReentrantReadWriteLock實現(xiàn)原理詳解

    這篇文章主要介紹了Java中的ReentrantReadWriteLock實現(xiàn)原理詳解,讀寫鎖實現(xiàn)了接口ReadWriteLock,適合于讀多寫少的情況,支持公平鎖和非公平鎖,支持可沖入(進入讀鎖后可再進入讀鎖,進入寫鎖后可再進入寫鎖和讀鎖),需要的朋友可以參考下
    2024-01-01

最新評論