在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    java中集合求并集、差集以及交集方法你知道多少?

    服務(wù)端開發(fā)中,經(jīng)常做的處理就是數(shù)據(jù)組裝,而數(shù)據(jù)組裝中集合處理算是”出鏡率”最高的,今天就來簡單聊一下集合中求并集、差集以及交集方法。

    實(shí)際開發(fā)中常用處理方式就是集合自帶的api與jdk8中stream流.下面以案例的形式簡單說下使用以及區(qū)別.

    public static void main(String[] args) { ArrayList integers = new ArrayList(); integers.add(1); integers.add(2); integers.add(3); ArrayList integers1 = new ArrayList(); integers1.add(1); integers1.add(2); // 取交集 method1(integers, integers1); // 取差集 method2(integers, integers1); // 取并集 method3(integers, integers1);}

    • 求交集

    private static void method1(ArrayList integers, ArrayList integers1) { // retainAll方法求交集 integers.retainAll(integers1); // 1,2 System.out.println(integers); // 1,2 System.out.println(integers1); // 1,2 // stream方式求交集 List collect = integers.stream().filter(s -> integers1.contains(s)).collect(Collectors.toList()); System.out.println(collect); // 1,2 }

    • 求差集

    private static void method2(ArrayList integers, ArrayList integers1) { // removeAll方法求差集 integers.removeAll(integers1); System.out.println(integers); // 3 System.out.println(integers1); // 1 2 // stream方式求差集 List collect = integers.stream().filter(s -> !integers1.contains(s)).collect(Collectors.toList()); System.out.println(collect); // 3 }

    • 求并集

    private static void method3(ArrayList integers, ArrayList integers1) { integers.addAll(integers1); System.out.println(integers); // 1 2 3 1 2 System.out.println(integers1); // 1 2 integers1.addAll(integers); System.out.println(integers1); // 1 2 3 1 2 System.out.println(integers); // 1 2 }

    好下面總結(jié)一下區(qū)別:retainAll或是removeAll的方式會(huì)將求交(差)集之后的元素賦值給集合,也就是說原集合元素是被破壞的,并且需要注意兩個(gè)集合之前的調(diào)用順序,如果調(diào)用位置不同返回的結(jié)果也是不一樣的;jdk8的stream流求交集的方式就能保證原集合的數(shù)據(jù)完整性!

    —— END ——

    作者| 賣柴火的小男孩啊

    多年后端開發(fā)經(jīng)驗(yàn),堅(jiān)持分享更多java干貨內(nèi)容!

    如果你喜歡我的文章,不妨點(diǎn)贊、轉(zhuǎn)發(fā)、收藏一下哦!

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月17日 18:21
    下一篇 2022年6月17日 18:21

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息