posts - 325,  comments - 25,  trackbacks - 0

          public class TestStreamAPI1 {
           
           List<Employee> emps = Arrays.asList(
             new Employee(102, "李四", 59, 6666.66),
             new Employee(101, "張三", 18, 9999.99),
             new Employee(103, "王五", 28, 3333.33),
             new Employee(104, "趙六", 8, 7777.77),
             new Employee(104, "趙六", 8, 7777.77),
             new Employee(104, "趙六", 8, 7777.77),
             new Employee(105, "田七", 38, 5555.55)
           );
           
           //2. 中間操作
           /*
            映射
            map——接收 Lambda , 將元素轉(zhuǎn)換成其他形式或提取信息。接收一個(gè)函數(shù)作為參數(shù),該函數(shù)會(huì)被應(yīng)用到每個(gè)元素上,并將其映射成一個(gè)新的元素。
            flatMap——接收一個(gè)函數(shù)作為參數(shù),將流中的每個(gè)值都換成另一個(gè)流,然后把所有流連接成一個(gè)流
            */
           @Test
           public void test1(){
            Stream<String> str = emps.stream()
             .map((e) -> e.getName());
            
            System.out.println("-------------------------------------------");
            
            List<String> strList = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee");
            
            Stream<String> stream = strList.stream()
                .map(String::toUpperCase);
            
            stream.forEach(System.out::println);
            
            Stream<Stream<Character>> stream2 = strList.stream()
                .map(TestStreamAPI1::filterCharacter);
            
            stream2.forEach((sm) -> {
             sm.forEach(System.out::println);
            });
            
            System.out.println("---------------------------------------------");
            
            Stream<Character> stream3 = strList.stream()
                .flatMap(TestStreamAPI1::filterCharacter);
            
            stream3.forEach(System.out::println);
           }

           public static Stream<Character> filterCharacter(String str){
            List<Character> list = new ArrayList<>();
            
            for (Character ch : str.toCharArray()) {
             list.add(ch);
            }
            
            return list.stream();
           }
           
           /*
            sorted()——自然排序
            sorted(Comparator com)——定制排序
            */
           @Test
           public void test2(){
            emps.stream()
             .map(Employee::getName)
             .sorted()
             .forEach(System.out::println);
            
            System.out.println("------------------------------------");
            
            emps.stream()
             .sorted((x, y) -> {
              if(x.getAge() == y.getAge()){
               return x.getName().compareTo(y.getName());
              }else{
               return Integer.compare(x.getAge(), y.getAge());
              }
             }).forEach(System.out::println);
           }

          posted on 2018-03-06 08:38 長春語林科技 閱讀(122) 評(píng)論(0)  編輯  收藏 所屬分類: java8
          <2018年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技?xì)g迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 崇左市| 绥化市| 鹿泉市| 济源市| 江城| 平凉市| 威海市| 泗阳县| 丰台区| 吴忠市| 汶上县| 城固县| 郎溪县| 陵川县| 湖州市| 锡林浩特市| 贺兰县| 阿克苏市| 宿州市| 云和县| 准格尔旗| 紫云| 谢通门县| 金塔县| 通许县| 信丰县| 常州市| 门头沟区| 巴楚县| 汉川市| 北京市| 当雄县| 法库县| 德保县| 外汇| 汝南县| 康马县| 乌恰县| 通河县| 米林县| 泽普县|