• 可变参数JAVA


    1. public class Main {
    2. public static void main(String[] args) {
    3. //方法形参的个数是可以变化的
    4. //格式:属性类型...名字
    5. System.out.println(getSum(1,2,3,4,5,6,7,8));
    6. }
    7. //通过键值对对象来遍历;
    8. public static int getSum(int a,int...args){//可变参数;
    9. int sum=0;
    10. for(int i:args)
    11. {
    12. sum+=i;
    13. }
    14. return sum;
    15. }
    16. }

    可变参数只能有一个数组,不能有两个数组;此外在形参列表中,

    可变参数要写在最后;

     stream流

     

    1. ArrayListlist1=new ArrayList<>();
    2. list1.add("milan");
    3. list1.add("manunited");
    4. list1.add("rmd");
    5. list1.add("inter");
    6. list1.stream().filter(name->name.startsWith("m")).filter(name->name.length()==3).forEach(name-> System.out.println(name));

    获取Stream流的方法:根据集合特点有不同的方法,如上

    1. import java.util.*;
    2. import java.util.function.BiConsumer;
    3. import java.util.function.Consumer;
    4. import java.util.stream.Stream;
    5. public class Main {
    6. public static void main(String[] args) {
    7. //单列集合的获取比较简单;,使用stream方法获取流对象,调用方法即可
    8. ArrayListlist1=new ArrayList<>();
    9. Collections.addAll(list1,"inter","milan","FCB","RMD","MCI","MUN","LIV","CHE");
    10. //获取流
    11. Streamss=list1.stream();
    12. //遍历流对象并打印;
    13. ss.forEach(new Consumer() {
    14. @Override
    15. public void accept(String s) {
    16. System.out.println(s);
    17. }
    18. });
    19. //使用lambda简化
    20. list1.stream().forEach(name-> System.out.println(name));
    21. //使用终结方法打印流的数据
    22. list1.stream().filter(name->name.startsWith("m")).filter(name->name.length()==3).forEach(name-> System.out.println(name));
    23. //双列集合需要先获取单列集合,在操作;也可以使用entryset获取全部
    24. HashMaphm=new HashMap<>();
    25. hm.put("aaa",111);
    26. hm.put("bbb",222);
    27. hm.put("ccc",333);
    28. hm.put("ddd",444);
    29. hm.keySet().stream().forEach(new Consumer() {
    30. @Override
    31. public void accept(String s) {
    32. System.out.println(s);
    33. }
    34. });
    35. hm.keySet().stream().forEach(name-> System.out.println(name));
    36. hm.entrySet().stream().forEach(name-> System.out.println(name));//同时获取键值集合
    37. //数组的流获取
    38. int[]arr={1,2,3,4,5,6,7,8};
    39. String[]arr1={"a","b","c","d","e"};
    40. //获取Stream流
    41. Arrays.stream(arr).forEach(s-> System.out.println(s));
    42. System.out.println("_____________________________");
    43. Arrays.stream(arr1).forEach(name-> System.out.println(name));
    44. }
    45. //通过键值对对象来遍历;
    46. //零散数据
    47. }

    Stream中间方法

    1. import com.sun.management.GarbageCollectionNotificationInfo;
    2. import com.sun.source.tree.Tree;
    3. import java.util.*;
    4. import java.util.function.BiConsumer;
    5. import java.util.function.Consumer;
    6. import java.util.function.Predicate;
    7. import java.util.stream.Stream;
    8. public class Main {
    9. public static void main(String[] args) {
    10. //单列集合的获取比较简单;,使用stream方法获取流对象,调用方法即可
    11. ArrayListlist1=new ArrayList<>();
    12. Collections.addAll(list1,"inter","milan","FCB","RMD","MCI","MUN","LIV","CHE");
    13. list1.stream().filter(new Predicate() {
    14. @Override
    15. public boolean test(String s) {
    16. return s.startsWith("m");
    17. // return false;
    18. }
    19. }).forEach(new Consumer() {
    20. @Override
    21. public void accept(String s) {
    22. System.out.println(s);
    23. }
    24. });
    25. //stream流只能使用一次;最好一次使用完成。
    26. //修改stream流不会影响原集合;
    27. list1.stream().filter(s->s.startsWith("M")).forEach(s-> System.out.println(s));
    28. list1.stream().limit(5).forEach(s-> System.out.println(s));
    29. list1.stream().limit(5).skip(2).forEach(s-> System.out.println(s));
    30. //合并流
    31. Stream.concat(list1.stream(),list1.stream()).forEach(s-> System.out.println(s));
    32. }
    33. //通过键值对对象来遍历;
    34. //零散数据
    35. }

     Stream流终结方法

  • 相关阅读:
    Java 线程池之任务拒绝策略
    驱动开发:内核扫描SSDT挂钩状态
    包装印刷行业万界星空科技云MES解决方案
    阿里三面:让你怀疑人生的 Java 锁机制夺命连环 21 问
    怎样把1.ts-10.ts的文件拼接成一个MP4文件
    【优化布局】基于遗传算法实现风电场集电系统优化附matlab代码
    网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)
    vue双向数据绑定原理
    基于安卓(Android)的即时实时聊天APP软件
    四级常见英语短语1000条
  • 原文地址:https://blog.csdn.net/qq_41790844/article/details/132891764