日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java8新特性之Stream API詳解

瀏覽:182日期:2022-08-13 15:59:12
一、前言

StreamAPI在Java8版本中使用,關注的是對數據的篩選、查找、存儲等

它可以做的事情有:過濾、排序、映射、歸約

二、使用流程

Stream實例化中間操作(過濾、排序、映射、規約)終止操作(匹配查找、歸約、收集)

三、案例演示

public class EmployeeData { public static List<Employee> getEmployees(){ List<Employee> list = new ArrayList<>(); list.add(new Employee(1001, '馬化騰', 34, 6000.38)); list.add(new Employee(1002, '馬云', 12, 9876.12)); list.add(new Employee(1003, '劉強東', 33, 3000.82)); list.add(new Employee(1004, '雷軍', 26, 7657.37)); list.add(new Employee(1005, '李彥宏', 65, 5555.32)); list.add(new Employee(1006, '比爾蓋茨', 42, 9500.43)); list.add(new Employee(1007, '任正非', 26, 4333.32)); list.add(new Employee(1008, '扎克伯格', 35, 2500.32)); return list; } }

package JDK_8;import org.junit.Test;import java.util.Arrays;import java.util.List;import java.util.Optional;import java.util.stream.Collectors;import java.util.stream.Stream;public class StreamAPI { // 方式1:使用集合創建Stream @Test public void test1() {List<Employee> list = EmployeeData.getEmployees();// 返回一個順序流Stream<Employee> stream = list.stream();// 返回一個并行流Stream<Employee> employeeStream = list.parallelStream(); } // 方式2:使用數組創建流對象 @Test public void test2() {Employee e1 = new Employee(1003, 'WZY', 26, 3000.69);Employee e2 = new Employee(1007, '王紫玉', 25, 8888);Employee[] list2 = new Employee[]{e1, e2};Stream<Employee> stream = Arrays.stream(list2);stream.forEach(System.out::println); } // 通過Stream.of 創建 @Test public void test3() {Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 6);stream.forEach(System.out::println); } // Stream.filter進行過濾 @Test public void test4() {List<Employee> list = EmployeeData.getEmployees();list.stream().filter(employee -> employee.getAge() > 25).forEach(System.out::println); } // 使用StreamAPI篩選 @Test public void test5() {List<Employee> list = EmployeeData.getEmployees();list.add(new Employee(1004, 'wzy', 25, 18888));list.add(new Employee(1004, 'wzy', 25, 18888));list.add(new Employee(1004, 'wzy', 25, 18888));list.add(new Employee(1004, 'wzy', 25, 18888));list.stream().forEach(System.out::println);System.out.println();list.stream().distinct().forEach(System.out::println); } @Test public void test6() {List<String> list = Arrays.asList('a', 'b', 'c');//map(Function<? super T,? extends R> mapper)//返回由給定函數應用于此流的元素的結果組成的流。list.stream().map(s -> s.toUpperCase()).forEach(System.out::println); } // 使用StreamAPI篩選:工資大于6000的員工 @Test public void test7() {List<Employee> list = EmployeeData.getEmployees();list.stream().filter(s -> s.getSalary() > 6000).forEach(System.out::println); } // StreamAPI映射:map,接收參數,將參數轉換為其他形式的信息; @Test public void test8() {List<Employee> list = EmployeeData.getEmployees();list.stream().map(e -> e.getAge()).forEach(System.out::println); } // StreamAPI排序,sorted幫助實現Comparable接口進行對象比較 @Test public void test9() {List<Employee> list = EmployeeData.getEmployees();list.stream().sorted((e1, e2) -> { int ageValue = Integer.compare(e1.getAge(), e2.getAge()); if (ageValue != 0) {return ageValue; } else {return Double.compare(e1.getSalary(), e2.getSalary()); }}).forEach(System.out::println); } // StreamAPI匹配:所有元素是否滿足下列條件 @Test public void test10() {List<Employee> list = EmployeeData.getEmployees();boolean allMatch = list.stream().allMatch(e -> e.getSalary() > 5000);System.out.println(allMatch); } // StreamAPI查找:返回第一個元素 @Test public void test11() {List<Employee> list = EmployeeData.getEmployees();Optional<Employee> first = list.stream().findFirst();System.out.println(first); } // StreamAPI查找:返回薪水數最大的員工 @Test public void test12() {List<Employee> list = EmployeeData.getEmployees();Stream<Double> salaryStream = list.stream().map(e -> e.getSalary());Optional<Double> max = salaryStream.max(Double::compare);System.out.println(max); } // StreamAPI查找:薪水最小的員工對像 @Test public void test13() {List<Employee> list = EmployeeData.getEmployees();Optional<Employee> min = list.stream().min((e1, e2) -> Double.compare(e1.getSalary(), e2.getSalary()));System.out.println(min); } // StreamAPI:歸約 @Test public void test14() {List<Employee> list = EmployeeData.getEmployees();Stream<Double> salaryStream = list.stream().map(e -> e.getSalary());Optional<Double> sum = salaryStream.reduce((s1, s2) -> s1 + s2);System.out.println(sum.get()); } // StreamAPI:收集 @Test public void test15(){List<Employee> list = EmployeeData.getEmployees();List<Employee> employeeList = list.stream().filter(e -> e.getSalary() > 5000).collect(Collectors.toList());for (Employee employee : employeeList) { System.out.println(employee);} }}

到此這篇關于Java8新特性之StreamAPI詳解的文章就介紹到這了,更多相關java StreamAPI詳解內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日中文字幕| 综合日韩av| 亚洲三级网站| 在线观看一区| 另类激情亚洲| 在线看片一区| 中文字幕一区二区三区日韩精品| 国产夫妻在线| av免费不卡国产观看| 天堂√8在线中文| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 蜜臀va亚洲va欧美va天堂| 91p九色成人| 亚洲另类黄色| 欧美日韩视频免费观看| 蜜桃视频在线网站| 亚洲国产福利| 黄色成人在线网址| 亚洲资源网站| 欧美一区二区性| 日韩高清在线不卡| 国产免费播放一区二区| 亚洲天堂日韩在线| 久久久久久久久久久妇女| 麻豆久久一区| 亚洲影视一区| 免费的成人av| 99tv成人| 亚洲精品自拍| 国产精品极品| 亚洲四虎影院| 久久久久免费av| 日韩在线a电影| 国模精品一区| 午夜精品婷婷| 亚洲精品一区二区妖精| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产第一亚洲| 奇米狠狠一区二区三区| 国产在线日韩| а√天堂8资源中文在线| 日韩精品亚洲专区| 日韩欧美精品一区| 国产在线观看www| 日韩高清不卡在线| 中文av在线全新| 亚洲精选av| av免费不卡国产观看| 日韩一级精品| 久久99高清| 国产99久久| 国产在线观看www| 日韩精品亚洲一区二区三区免费| 国产毛片久久久| 日韩欧美一区二区三区免费看| 欧美极品中文字幕| 美女高潮久久久| 国产精选在线| 日韩久久精品| 91亚洲自偷观看高清| 国产精品传媒麻豆hd| 久久精品资源| 久久狠狠久久| 欧美一级网站| 亚洲精品亚洲人成在线观看| 国产91在线精品| 国产乱码精品一区二区三区亚洲人| 日韩亚洲精品在线| 亚洲综合五月| 国产日韩亚洲欧美精品| 亚洲人www| 综合日韩av| 国产精品一区亚洲| 欧美理论视频| 亚洲综合福利| 日韩av中文字幕一区二区三区| 欧美日一区二区三区在线观看国产免| 成人av动漫在线观看| 亚洲天堂久久| 视频二区不卡| 激情综合自拍| 免费视频亚洲| 99在线观看免费视频精品观看| 久久精品一区二区国产| 久久久久亚洲精品中文字幕| 你懂的国产精品永久在线| 久久不见久久见中文字幕免费| 亚洲综合婷婷| 精精国产xxxx视频在线野外| 麻豆精品视频在线观看| 亚洲成人一区| 日韩电影免费网站| 亚洲午夜精品久久久久久app| 亚洲乱码视频| 精品久久一区| 亚洲美洲欧洲综合国产一区 | 国产精品自在| 日韩中文字幕无砖| 伊人久久婷婷| 老司机精品久久| 久久精品国产网站| 综合一区二区三区| 三级久久三级久久久| 国产福利一区二区精品秒拍| 久久尤物视频| 一区二区三区四区在线看| 视频一区二区中文字幕| 久久国产影院| 国产精品女主播一区二区三区| 久久亚洲国产| 日本不卡的三区四区五区| 精品国产乱码久久久| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日本中文字幕视频一区| 国产精品人人爽人人做我的可爱 | 色综合www| 国产精品九九| 久久av影院| 麻豆成人综合网| 色偷偷色偷偷色偷偷在线视频| 黄色欧美在线| 久久久久久久久丰满| 欧美1区二区| 色偷偷色偷偷色偷偷在线视频| www.com.cn成人| 91精品亚洲| 亚洲理论在线| 久久国产直播| 成人日韩av| 欧美日韩黑人| 久久精品国产99久久| 超级白嫩亚洲国产第一| 日韩1区2区3区| 欧美日韩免费观看视频| 欧美午夜不卡影院在线观看完整版免费| 亚洲免费毛片| 免费成人av在线播放| 亚洲精品免费观看| 欧美伊人久久| 国产精品一区二区av交换| 国产欧美日韩精品一区二区三区| 久久激情一区| 在线精品视频在线观看高清| 婷婷亚洲成人| 国产精品美女午夜爽爽| 日韩天堂在线| 日韩精品免费视频人成| 亚洲va中文在线播放免费| 久久国产人妖系列| 91久久久精品国产| 欧美激情一区| 亚洲精品在线国产| 香蕉精品久久| 精品视频91| 精品色999| 首页国产精品| 国产精品国码视频| 久久精品国产999大香线蕉 | 久久精品二区三区| 香蕉久久夜色精品国产| 欧美交a欧美精品喷水| 国产一区二区三区久久久久久久久| 日韩国产欧美一区二区| 欧美激情麻豆| 欧美午夜精彩| 精品日韩毛片| 麻豆9191精品国产| 久久精品 人人爱| 日本中文字幕视频一区| 国产精品s色| 视频一区日韩精品| 黄在线观看免费网站ktv| 欧美日韩国产免费观看视频| 欧美日韩四区| 国产美女撒尿一区二区| 国产一区一一区高清不卡| 久久精品观看| 国产99久久久国产精品成人免费| 美女性感视频久久| 99亚洲视频| 精品欠久久久中文字幕加勒比| 日韩精品午夜| 欧美亚洲自偷自偷| 日韩精品一区二区三区免费观看| 日本免费新一区视频| bbw在线视频| 麻豆成人91精品二区三区| 91一区二区三区四区| 日韩视频免费| 精品国产网站| 久久狠狠久久| 亚洲一区二区网站| 亚洲午夜黄色| 日韩一区精品| 亚洲激情欧美| 国产精品99在线观看| 中文字幕一区二区精品区| 国产成人精选| 色8久久久久| 在线视频日韩|