Stream-取得と一般的な方法

18233 ワード

  • Stream
  • を取得
    package com.itheima.demo02.Stream;
    
    import java.util.*;
    import java.util.stream.Stream;
    
    /*
        java.util.stream.Stream Java 8           。(           。)
                 ,          :
            -    Collection       stream       ;
                default Stream stream​()
            - Stream       of          。
                static  Stream of​(T... values)
                         ,             
     */
    public class Demo01GetStream {
        public static void main(String[] args) {
            //      Stream 
            List<String> list = new ArrayList<>();
            Stream<String> stream1 = list.stream();
            Set<String> set = new HashSet<>();
            Stream<String> stream2 = set.stream();
            Map<String,String> map = new HashMap<>();
            //   ,     Set   
            Set<String> keySet = map.keySet();
            Stream<String> stream3 = keySet.stream();
            //   ,     Collection   
            Collection<String> values = map.values();
            Stream<String> stream4 = values.stream();
            //     (         entrySet)
            Set<Map.Entry<String, String>> entries = map.entrySet();
            Stream<Map.Entry<String, String>> stream5 = entries.stream();
            //      Stream 
            Stream<Integer> stream6 = Stream.of(1, 2, 3, 4, 5);
            //          
            Integer[] arr = {1,2,3,4,5};
            Stream<Integer> stream7 = Stream.of(arr);
            String[] arr2 = {"a","bb","ccc"};
            Stream<String> stream8 = Stream.of(arr2);
        }
    }
    
    
  • の一般的な方法および例
  • package com.itheima.demo03.Stream;
    
    import java.util.ArrayList;
    import java.util.stream.Stream;
    
    /*
          :      (Stream  )
            //1.           3       ;         。
            //2.             3  ;         。
            //3.               ;         。
            //4.             2  ;         。
            //5.             ;         。
            //6.       Person  ;         。
            //7.        Person    。
     */
    public class Demo02StreamTest {
        public static void main(String[] args) {
            //     
            ArrayList<String> one = new ArrayList<>();
            one.add("    ");
            one.add("   ");
            one.add("   ");
            one.add("   ");
            one.add("   ");
            one.add("  ");
            one.add("  ");
            one.add("   ");
            Stream<String> oneStream = one.stream().filter(name -> name.length() == 3).limit(3);
            //     
            ArrayList<String> two = new ArrayList<>();
            two.add("    ");
            two.add("   ");
            two.add("   ");
            two.add("   ");
            two.add("      ");
            two.add("   ");
            two.add("   ");
            Stream<String> twoStream = two.stream().filter(name -> name.startsWith(" ")).skip(2);
            Stream.concat(oneStream,twoStream).map(name->new Person(name)).forEach(p-> System.out.println(p));
        }
    }