亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java比較兩個列表

Java比較兩個列表

慕妹3146593 2019-07-11 20:42:08
Java比較兩個列表我有兩個列表(不是java列表,可以說是兩個列)例如**List 1**            **Lists 2**   milan                 hafil   dingo                 iga   iga                   dingo   elpha                 binga   hafil                 mike   meat                  dingo   milan   elpha   meat   iga                      neeta.peeta我想要一個返回多少元素是相同的方法。對于這個例子,它應該是3,并且應該返回列表和不同值的相似值。我應該使用hashmap,如果是,那么如何獲得我的結果?請幫忙這不是學校的作業:)所以,如果你能指導我,那就足夠了
查看完整描述

3 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

你可以試試intersection()subtract()方法CollectionUtils.

intersection()方法提供一個集合,該集合包含公共元素,并且subtract()方法給出了所有不尋常的方法。

他們也應該照顧到類似的元素。


查看完整回答
反對 回復 2019-07-11
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

這些真的列表(訂購,帶復制件),還是(無序,沒有副本)?

因為如果是后者,那么您可以使用,比方說,java.util.HashSet<E>并在預期的線性時間內使用方便的retainAll.

    List<String> list1 = Arrays.asList(
        "milan", "milan", "iga", "dingo", "milan"
    );
    List<String> list2 = Arrays.asList(
        "hafil", "milan", "dingo", "meat"
    );

    // intersection as set
    Set<String> intersect = new HashSet<String>(list1);
    intersect.retainAll(list2);
    System.out.println(intersect.size()); // prints "2"
    System.out.println(intersect); // prints "[milan, dingo]"

    // intersection/union as list
    List<String> intersectList = new ArrayList<String>();
    intersectList.addAll(list1);
    intersectList.addAll(list2);
    intersectList.retainAll(intersect);
    System.out.println(intersectList);
    // prints "[milan, milan, dingo, milan, milan, dingo]"

    // original lists are structurally unmodified
    System.out.println(list1); // prints "[milan, milan, iga, dingo, milan]"
    System.out.println(list2); // prints "[hafil, milan, dingo, meat]"


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 921 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號