日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

[转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序

發(fā)布時間:2025/3/11 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

參考鏈接: 如何在Java 8中打印Stream的元素

單元測試:?

??

?@Test

? ? public void Test02(){

? ??????

? ? ? ? // 源

? ? ? ? ArrayList<Integer> IdsSour = new ArrayList<>();

? ? ? ? IdsSour.add(5);

? ? ? ? IdsSour.add(1);

? ? ? ? IdsSour.add(3);

? ? ? ? IdsSour.add(2);

? ? ? ? IdsSour.add(6);

? ? ? ? IdsSour.add(4);

? ??????

? ? ? ? // 目標

? ? ? ? List<Integer> IdsDes = new ArrayList<>();

? ??????

? ??

? ? ? ? System.out.println("============移除 4 ============");

? ??

? ? ? ? IdsDes = (ArrayList<Integer>) IdsSour.stream().filter(id->id!=4).collect(Collectors.toList());

? ? ? ? for (Integer id : IdsDes) {

? ? ? ? ? ? System.out.println(id);

? ? ? ? }

? ??????????????

? ? ? ? System.out.println("============移除 4 5 6============\n\n");

? ??????????????

? ? ? ? int[] ids = new int[]{4,5,6};

? ??????

? ? ? ? //按ID的 大小 從大到小 逆序 排列

? ? ? ? IdsDes = (List<Integer>) IdsSour.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());

? ??????

? ? ? ? for(int i = 0 ;i < ids.length ; i++){

? ??????????

? ? ? ? ? ? int ret = ids[i];

? ? ? ? ? ? //filter的寫法 比 直接if判斷再remove要含蓄的多,看起來舒服,但是效率不見得有for循環(huán)快

? ? ? ? ? ? IdsDes = (ArrayList<Integer>) IdsDes.stream().filter(id->id!=ret).collect(Collectors.toList());

? ??????????

? ? ? ? ? ? System.out.println("+++++++++++++++++第"+(i+1)+"次過濾后");

? ??????????

? ? ? ? ? ? for (Integer id : IdsDes) {

? ? ? ? ? ? ? ? System.out.println(id);

? ? ? ? ? ? }????????

? ? ? ? }

? ??????????

? ? ? ? System.out.println("==================================");

? ??????

? ? ? ? //最后 按自然排序【默認】打印出IDsDes的內(nèi)容

? ? ? ? //先sorted再foreach --? 簡單優(yōu)雅 -- 優(yōu)雅的背后 必定會有犧牲

? ? ? ? IdsDes.stream().sorted().collect(Collectors.toList()).forEach(id->System.out.println(id));

? ??????

? ??????????

? ? }

?

?

??

運行效果:

總結

以上是生活随笔為你收集整理的[转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。