Java 8中流API的这些奇技淫巧!你得到了吗?

  

上次老师跟大家分享了cookie,会话和令牌,今天给大家分享一下Java 8中的流API。

  

  

1, Java 8引入了全新API的流。这里的流和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同。
  2、流是对集合对象功能的增强,它专注于对集合对象进行各种非常便利,高效的聚合操作,或者大批量数据操作。
  3,只要给出需要对其包含的元素执行什么操作,比如“过滤掉长度大于10的字符串”,“获取每个字符串的首字母”等,小溪会隐式地在内部进行遍历,做出相应的数据转换。
  

  


  

  

1,函数式编程带来的好处尤为明显。这种代码更多地表达了业务逻辑的意图,而不是它的实现机制。易读的代码也易于维护,更可靠,更不容易出错。
  2,高端

  

        公共类数据{   私有静态List列表=零;      静态{   吴PersonModel=new PersonModel(“吴七”,18岁,“男”);   PersonModel张=new PersonModel(“张三”,19日,“男”);   王PersonModel=new PersonModel(20岁的“王si”“女”);   PersonModel赵=new PersonModel(20岁的“赵吴”“男”);   陈PersonModel=new PersonModel(“陈刘”,21岁的“男”);=数组列表。asList(吴、张、王、赵、陈);   }      公共静态ListgetData () {   返回列表;   }   }      

  
      <李>遍历数据并检查其中的元素时使用。   <李>过滤器接受一个函数作为参数,该函数用λ表达式表示。   
  

 Java 8中流API的这些奇技淫巧!你得到了吗?”> </p>
  
  <pre类=/* *   *过滤所有的男性   */公共静态孔隙fiterSex () {   Listdata=https://www.yisu.com/zixun/Data.getData ();//老   List ();   (PersonModel人:数据){   如果(“男”.equals (person.getSex ())) {   temp.add(人);   }   }   System.out.println(临时);//新   List收集=数据   .stream ()   .filter(人→“男”.equals (person.getSex ()))   .collect (toList ());   System.out.println(收集);   }/* *   *过滤所有的男性并且小于20岁   */公共静态孔隙fiterSexAndAge () {   Listdata=https://www.yisu.com/zixun/Data.getData ();//老   List ();   (PersonModel人:数据){   如果(“男”.equals (person.getSex()),和person.getAge () & lt; 20) {   temp.add(人);   }   }//新1   List收集=数据   .stream ()   .filter(人→{   如果(“男”.equals (person.getSex()),和person.getAge () & lt; 20) {   返回true;   }   返回错误;   })   .collect (toList ());//新2   Listcollect1=数据   .stream ()   .filter(人→(“男”.equals (person.getSex()),和person.getAge () & lt; 20))   .collect (toList ());      }      

  
      <李>地图生成的是个一对一映射,为的作用李   <李>比较常用李   <李>而且很简单李   
  

 Java 8中流API的这些奇技淫巧!你得到了吗?”> </p>
  
  <pre类=/* *   *取出所有的用户名字   */公共静态孔隙getUserNameList () {   Listdata=https://www.yisu.com/zixun/Data.getData ();//老   新ArrayList列表<字符串>=<> ();   (PersonModel波斯:数据){   list.add (persion.getName ());   }   System.out.println(列表);//新1   列表<字符串>收集=data.stream ()。地图(人-> person.getName ()) .collect (toList ());   System.out.println(收集);//新2   列表<字符串> collect1=data.stream () . map (PersonModel:: getName) .collect (toList ());   System.out.println (collect1);//新的3   列表<字符串> collect2=data.stream ()。地图(人-> {   System.out.println (person.getName ());   返回person.getName ();   }).collect (toList ());   }      

  
      <李>顾名思义,跟地图差不多,更深层次的操作李   <李>但还是有区别的李   <李>地图和平坦返回值不同李   <李>地图每个输入元素,都按照规则转换成为另外一个元素。   <李>还有一些场景,是一对多映射关系的,这时需要flatMap。   <李>地图一对一李

    Java 8中流API的这些奇技淫巧!你得到了吗?