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

java list 比較詳解及實(shí)例

 更新時(shí)間:2017年05月14日 10:28:24   投稿:lqh  
這篇文章主要介紹了java list 比較詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下

java list 比較詳解及實(shí)例

java里比較兩個(gè)list的值是否一致,不考慮順序,有多種方法,比如排序后直接用equals比較,相互之間執(zhí)行兩次containsAll等,這些辦法都需要我們給list的元素類實(shí)現(xiàn)equals和hashcode方法。但是有一種特殊情況,如果我們并不方便去實(shí)習(xí)類的equals方法,例如是一個(gè)古老的第三方j(luò)ar包,改代碼會(huì)帶來(lái)很多未知問(wèn)題,這時(shí)候該怎么辦呢。

其實(shí)很簡(jiǎn)單,萬(wàn)能的apache-commons早就想到了這一點(diǎn),所以在commons-collections4中增加了外部輸入equals和hashcode的方法,甚至equals和hashcode方法本身也不需要我們自己寫(xiě)代碼,可以用comons-lang包實(shí)現(xiàn),具體代碼如下

   <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-collections4</artifactId>
      <version>4.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.5</version>
    </dependency>
  public static <T> boolean isEqualCollection(Collection<T> l1, Collection<T> l2, final String... exludedFields) {
    Equator<T> equator = generateEquator(exludedFields);
    return CollectionUtils.isEqualCollection(l1, l2, equator);
  }
 private static <T> Equator<T> generateEquator(final String... exludedFields) {
    Equator<T> equator = new Equator<T>() {
      @Override
      public boolean equate(T o1, T o2) {
        if (o1 == null && o2 == null) {
          return true;
        }
        if (o1 == null || o2 == null) {
          return false;
        }
        if (o1.getClass() != o2.getClass()) {
          return false;
        }
        return EqualsBuilder.reflectionEquals(o1, o2, exludedFields);
      }

      @Override
      public int hash(T o) {
        return HashCodeBuilder.reflectionHashCode(o, exludedFields);
      }
    };
    return equator;
  }

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解

    JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了JAVA HTTP反向代理實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 使用Spring的攔截器監(jiān)測(cè)每個(gè)Controller或方法的執(zhí)行時(shí)長(zhǎng)

    使用Spring的攔截器監(jiān)測(cè)每個(gè)Controller或方法的執(zhí)行時(shí)長(zhǎng)

    這篇文章主要介紹了使用Spring的攔截器監(jiān)測(cè)每個(gè)Controller或方法的執(zhí)行時(shí)長(zhǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • spring-boot-maven-plugin:unknown的完美解決方法

    spring-boot-maven-plugin:unknown的完美解決方法

    這篇文章主要介紹了spring-boot-maven-plugin:unknown的完美解決方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java編程Socket實(shí)現(xiàn)多個(gè)客戶端連接同一個(gè)服務(wù)端代碼

    Java編程Socket實(shí)現(xiàn)多個(gè)客戶端連接同一個(gè)服務(wù)端代碼

    這篇文章主要介紹了Java編程Socket實(shí)現(xiàn)多個(gè)客戶端連接同一個(gè)服務(wù)端代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • java同步之如何寫(xiě)一個(gè)鎖Lock

    java同步之如何寫(xiě)一個(gè)鎖Lock

    本篇文章的目標(biāo)一是自己動(dòng)手寫(xiě)一個(gè)鎖,這個(gè)鎖的功能很簡(jiǎn)單,能進(jìn)行正常的加鎖、解鎖操作。能更好地理解后面章節(jié)將要學(xué)習(xí)的AQS及各種同步器實(shí)現(xiàn)的原理。下面小編來(lái)和大家一起學(xué)習(xí)下吧
    2019-05-05
  • spring mvc DispatcherServlet之前端控制器架構(gòu)詳解

    spring mvc DispatcherServlet之前端控制器架構(gòu)詳解

    這篇文章主要為大家詳細(xì)介紹了spring mvc DispatcherServlet之前端控制器架構(gòu),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • java模擬微信搶紅包的實(shí)例代碼

    java模擬微信搶紅包的實(shí)例代碼

    現(xiàn)在搶紅包的功能很受歡迎,本篇文章主要介紹了java模擬微信搶紅包的實(shí)例代碼。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • java多線程Thread的實(shí)現(xiàn)方法代碼詳解

    java多線程Thread的實(shí)現(xiàn)方法代碼詳解

    這篇文章主要介紹了java多線程Thread的實(shí)現(xiàn)方法代碼詳解,涉及start(),run(),stop(),interrupt(),isInterrupted(),join()和join(long millis)等方法的介紹,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • JUnit中獲取測(cè)試類及方法的名稱實(shí)現(xiàn)方法

    JUnit中獲取測(cè)試類及方法的名稱實(shí)現(xiàn)方法

    這篇文章主要介紹了JUnit中獲取測(cè)試類及方法的名稱實(shí)現(xiàn)方法,本文使用了JUnit中提供的TestName實(shí)現(xiàn),不過(guò)還有一些編程細(xì)節(jié)需要注意,需要的朋友可以參考下
    2015-06-06
  • 淺談System.getenv()和System.getProperty()的區(qū)別

    淺談System.getenv()和System.getProperty()的區(qū)別

    這篇文章主要介紹了System.getenv()和System.getProperty()的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論

新田县| 永康市| 鹤壁市| 若羌县| 永新县| 儋州市| 泌阳县| 清远市| 巴里| 茌平县| 澄城县| 静宁县| 体育| 庄河市| 江阴市| 呼玛县| 都安| 阿巴嘎旗| 安仁县| 安丘市| 扬中市| 格尔木市| 长治县| 石景山区| 海淀区| 辛集市| 新田县| 甘肃省| 丰镇市| 历史| 齐齐哈尔市| 方正县| 基隆市| 昭觉县| 上思县| 郎溪县| 平山县| 洞头县| 东源县| 武川县| 高要市|