日日夜夜精品视频天天综合网I成人一级片免费看I久久久精品I久草视频免费看I中文字幕亚洲欧美I久久综合免费视频I中文字幕一区二I免费看片在线观看

網站開發 APP開發 小程序開發 SEO優化 公司新聞

java8新特性之lambda表達式

2018-05-24 00:00:00
1828

  ·一.lambda表達式語法

  語法一:無參數,無返回值

  ()->System.out.println("你在哪");

  語法二:有一個參數,無返回值

  (x)->System.out.println(x);

  語法三:若有一個參數,無返回值 可以不寫小括號

  x->System.out.println(x);

  語法四:有兩個或多個參數,有返回值,lambda體中有多條數據

  Comparator<Integer> co = (x,y)->{

  System.out.println("語法四");

  return Integer.compare(x,y);

  };

  語法五:若lambda體中只有一條語句,return 和大括號可以不寫

  (x,y)->Integer.compare(x, y);

  語法六:lambda表達式中的參數類型可以不寫,編譯器會根據上下文推斷

  ·二.lambda表達式需要函數式接口的支持

  函數式接口:接口中只有一個抽象方法的接口稱為函數式接口。@FunctionalInterface可以使用判斷是否是函數式接口

  ·三.Java8內置的四大核心函數式接口

  Consumer<T>:消費型接口

  void accept(T t)

  Supplier(T):供給型接口

  T get();

  Function<T,R>:函數型接口

  R apply(T t);

  Predicate<T>:斷言型接口

  boolen test(T t)
  ·四:·4.1方法引用

  主要有三種語法格式

  1.對象::實例方法名

  PrintStream ps1 = System.out;

  2.類::靜態方法名

  Comparator<Integer> com = (x,y)->Integer.compare(x,y);

  Comparator<Integer> cm = Integer::compare;

  3.類::實例方法名

  BiPredicate <String,String> bp = (x,y)->x.equals(y);

  BiPredicate <String,String> bp1 = String::equals;

  注意:

  1.lambda 體中調用方法的參數列表與返回值類型,要與函數式接口中的抽象方法的函數列表和返回值類型保持一致

  2.若lambda 參數列表中的第一參數時實例方法的調用者,而第二個參數時實例方法的參數時,可以使用ClassName::method

  ·4.2構造器引用

  格式:ClassName::new

  注意:需要調用的構造器參數列表要與函數式接口中的抽象方法的參數列表保持一致

  ·4.3數組引用

  格式:Type[]::new

  例如:

  Function<Integer,String[]>fun = (x)->new String[x];

  String[] str = fun.apply(10);

  System.out.println(str.length);

  Function<Integer,String[]>fun = String[]::new;

  String[] str = fun.apply(20);

  System.out.println(str.length);

  ·五:Stream的三個操作步驟:

  1.創建Stream

  1.1通過Collection系列集合提供的stream()或parallelStream()

  List<String> list = new ArrayList<>();

  Stream<String> stream1 = list.Stream();

  1.2通過Arrays中的靜態方法stream()獲取數組流

  Employee[] emps = new Employee[10];

  Stream<Employee> stream2 = Arrays.stream(emps);

  1.3通過Stream類中的靜態方法of()

  Stream<String> stream3 = String.of("aa","bb","cc");

  1.4創建無限流

  迭代

  Stream<Integer> stream4 = Stream.iterate(0,(x)->x+2);

  stream4.forEach(System.out::println);//無限生成

  //生成

  Stream.generate(()->Math.ramdom());

  2.中間操作

  2.1 篩選與切片

  filter -- 接收lambda,從流中排除某些元素。

  limit -- 截斷流,使其元素不超過給定數量

  skip(n)-- 跳過元素,返回一個扔掉了前n個元素的流,若流中元素不足n個,則返回一個空流,與limit(n)互補

  distinct- 篩選,通過流所生成元素的hashCode()和equals去除重復元素

  2.2 映射

  map -- 接收lambda,有元素轉換成其他形式或提取信息。接收一個函數作為參數,該函數會被應用到每一個元素上,并將其映射成一個新元素。

  3.終止操作。

?
主站蜘蛛池模板: 精品伊人久久久 | 亚洲天天综合网 | 玖玖视频国产 | 免费在线观看视频一区 | 国产福利91精品 | 91污污视频在线观看 | 日日弄天天弄美女bbbb | 91精品免费在线视频 | 在线视频 区 | 天天干.com | 国产中文字幕视频 | 亚洲成人av片在线观看 | 亚洲在线视频网站 | 99精品欧美一区二区 | www.国产在线 | 久久综合久久久 | 九九热免费精品视频 | 欧美作爱视频 | 亚洲精品在线观看免费 | 欧美a级在线播放 | 99久热在线精品视频观看 | 国产精品96久久久久久吹潮 | 91久久精品日日躁夜夜躁国产 | 欧美韩国日本在线 | 日韩中文字幕国产精品 | 久久婷婷色 | 91香蕉视频污在线 | 天天色天天射天天操 | 久久综合久久久久88 | 91手机电视| 欧美污污视频 | 人人爽人人爽人人爽学生一级 | 国产精品免费观看在线 | 91视频一8mav | 一区二区三区日韩视频在线观看 | 麻豆影视在线免费观看 | 五月婷婷黄色 | 99中文在线 | 91最新国产 | 精品国产自在精品国产精野外直播 | 久久一区二区三区国产精品 | 丁香视频五月 | 一区二区不卡在线观看 | 国产91精品看黄网站在线观看动漫 | 91久久国产自产拍夜夜嗨 | 日韩 精品 一区 国产 麻豆 | 国产一区视频免费在线观看 | 国产精品嫩草影院123 | 中文字幕一区二区三区四区视频 | 日日干日日 | www.夜夜爽| 91在线观看黄| 日韩精品视频在线免费观看 | 国产精品久久久久久久久久免费 | 在线观看片 | 免费观看国产精品 | 欧美另类sm图片 | 久久国产精品系列 | 日韩中文字幕亚洲一区二区va在线 | 婷婷.com| 国产精品大片在线观看 | 青青草国产免费 | 亚洲精品在 | 日本丰满少妇免费一区 | 欧美激情精品久久久久久免费印度 | 欧美激情精品久久久久久免费 | 在线成人免费 | 在线99视频 | 国产黄在线播放 | 国产精品三级视频 | 99综合影院在线 | 久久国内精品 | 日韩午夜一级片 | 色婷婷国产精品一区在线观看 | 亚洲影视资源 | 久久久精品视频网站 | 成人免费看片98欧美 | 亚洲欧洲精品一区二区精品久久久 | 91一区在线观看 | 99精品视频免费 | 国产成人免费观看 | 国产视频在线免费观看 | 亚洲精品一区二区三区四区高清 | 精品国产电影一区二区 | 国产高清不卡av | 五月天综合婷婷 | 国产精品久久久久久超碰 | 欧美日韩高清 | 国产一级片网站 | 狠狠搞,com | 国产高清视频免费最新在线 | 亚洲日韩中文字幕在线播放 | 天天舔天天搞 | 日韩超碰 | 免费精品| 欧美激情精品久久久久久免费印度 | www.伊人色.com| 日本视频不卡 | 最近免费中文字幕大全高清10 |