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

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

Java8新特性之Stream API詳解

瀏覽:186日期: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久久,三上悠亚国产精品一区二区三区
999精品一区| 黄毛片在线观看| 999在线观看精品免费不卡网站| 欧美一级网站| 国产精品1区在线| 国产精品高潮呻吟久久久久| 日本精品久久| 青青草精品视频| 久久av中文| 亚洲一级少妇| 亚洲天堂日韩在线| 欧美日韩xxxx| 天堂va欧美ⅴa亚洲va一国产| 欧美日韩亚洲三区| 国产综合精品一区| 日韩三级久久| 丝袜美腿一区| 蜜臀91精品一区二区三区| 鲁大师精品99久久久| 欧美片第1页| 国产精品xxx在线观看| 精品国产午夜肉伦伦影院| 久久国产电影| 91精品福利观看| 国产字幕视频一区二区| 久久gogo国模啪啪裸体| 理论片午夜视频在线观看| 国产盗摄——sm在线视频| 韩国三级一区| 在线看片日韩| 精品欧美日韩精品| 国产综合亚洲精品一区二| 日本国产欧美| 精品在线91| 国产网站在线| 激情丁香综合| 日欧美一区二区| 久久三级视频| 色综合狠狠操| 91精品丝袜国产高跟在线| 涩涩av在线| 免费看的黄色欧美网站| 国产亚洲一区二区三区啪| 色网在线免费观看| 日韩超碰人人爽人人做人人添| 欧美不卡高清一区二区三区| 亚洲一区二区三区久久久| 日本少妇一区| 麻豆一区在线| 日韩不卡免费视频| 日韩激情av在线| 亚洲一区二区三区高清| 99精品电影| 欧美日韩一区二区三区不卡视频| 亚洲成人精品| 欧美三级精品| 国产精品2023| 日韩av专区| 天堂va欧美ⅴa亚洲va一国产| 伊人久久国产| 国产精品mm| 亚洲综合专区| 亚洲专区视频| 99视频在线精品国自产拍免费观看| 亚洲成人免费| 国产aⅴ精品一区二区三区久久 | 六月婷婷一区| 国产精品久久久久久久免费软件| 亚洲婷婷丁香| 亚洲精选久久| 精品久久影院| 丝袜av一区| 日韩精品影视| 美女精品网站| 不卡在线一区二区| 美女久久精品| 亚洲少妇在线| 中文字幕在线官网| 亚洲激情久久| 在线人成日本视频| 麻豆精品av| 国产精品88久久久久久| 日韩网站中文字幕| 国产精品久久久久77777丨| 久久尤物视频| 欧美特黄一级| 成人在线丰满少妇av| 国产日韩一区二区三区在线| 久草免费在线视频| 国产精品精品| 午夜久久福利| 欧美成人精品午夜一区二区| 欧美黑人做爰爽爽爽| 日韩精品一二三四| 亚洲欧美日韩综合国产aⅴ| 国产精品扒开腿做爽爽爽软件| 日韩激情一区二区| 午夜视频一区二区在线观看| 国产精品免费99久久久| 亚洲一级少妇| 里番精品3d一二三区| 成人三级高清视频在线看| 久久久久蜜桃| 中文视频一区| 久久国产精品99国产| 久久婷婷亚洲| 精品高清久久| 久久精品免费一区二区三区| 亚洲人成网站在线在线观看| 国产一区成人| 免费久久精品视频| 久久三级福利| 91免费精品| 国产视频一区二区在线播放| 日本欧美一区二区在线观看| 国产欧美在线观看免费| 亚洲精品一区二区在线看| 欧美精品激情| 日韩视频1区| 在线视频亚洲| 日韩不卡一区二区三区| 美女av在线免费看| 国产精品巨作av| 一区二区日韩免费看| 亚洲性视频在线| 欧美黄色一区二区| 亚洲国产专区| 国内精品麻豆美女在线播放视频| 亚洲综合不卡| 午夜在线观看免费一区| 蜜桃视频一区二区三区在线观看| 99tv成人| 欧美成人久久| 午夜av成人| 99在线|亚洲一区二区| 在线国产一区| 综合干狼人综合首页| 久久国产人妖系列| 国产精品白浆| 精品一区视频| 欧美日韩视频| 四虎国产精品免费观看| 亚洲精品黄色| 国产videos久久| 亚洲欧美高清| 99香蕉国产精品偷在线观看| 欧美激情五月| 男人的天堂久久精品| 99精品小视频| 成人va天堂| 热三久草你在线| 欧美激情 亚洲a∨综合| 日韩精品欧美成人高清一区二区| 三级在线观看一区二区| 亚洲精品va| 午夜欧美理论片| 欧美日韩精品一区二区三区视频 | 丝袜美腿成人在线| 亚洲精品无播放器在线播放| 久久久久久自在自线| 一区二区三区网站| 热久久国产精品| 国产九一精品| 日韩欧美一区二区三区在线观看| 亚洲韩日在线| 日本一区中文字幕| 精品资源在线| 丝袜脚交一区二区| 777久久精品| 91精品二区| 国产精成人品2018| 巨乳诱惑日韩免费av| 久久影院资源站| 久久国产精品成人免费观看的软件| 国产精品视频一区二区三区综合| 精品视频免费| 久久午夜影视| 日韩中文在线播放| 国产日产一区| 最新亚洲国产| 精品黄色一级片| 丁香婷婷久久| 国产精品白丝一区二区三区| 精品捆绑调教一区二区三区| 亚洲精品激情| 免费亚洲婷婷| 久久久久国产一区二区| 麻豆免费精品视频| 亚洲精品中文字幕99999| 久久久久91| 精品视频在线观看网站| 日本a级不卡| 亚洲青青久久| 91在线成人| 日韩精品乱码av一区二区| 一区二区精彩视频| 日韩制服丝袜av| 一区视频在线| 日韩专区视频网站| 国产无遮挡裸体免费久久 |