当前位置:网站首页>Stream stream creation_ Operation_ Collection_ case

Stream stream creation_ Operation_ Collection_ case

2022-06-22 09:13:00 C_ x_ three hundred and thirty

package com.Cx_330.run;

import org.junit.Test;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class CCC {
    public static double allNums;
    public static void main(String[] args) {
        //Collection
        List<String> list=new ArrayList<>();
        Collections.addAll(list," Zhang San "," Li Si "," Zhang Si "," Axin "," Zhang Xiaosan "," Zhang Si "," Zhang Si "," Zhang San ");
        list.stream();
        //Map
        Map<Integer,String> map=new HashMap<>();
        Stream<Integer> keystream = map.keySet().stream();
        Stream<String> valuestream = map.values().stream();
        Stream<Map.Entry<Integer, String>> entrystream = map.entrySet().stream();
        //Arrays
        String[] str= {" Zhang Xiaosan "," Li Si "," Zhang ha "," Zhang Sanfeng "};
        Stream<String> strstream = Arrays.stream(str);
        Stream<String> str1 = Stream.of(str);

        // middleware 
        System.out.println("\n--------- Zhang --------------------");
        list.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.startsWith(" Zhang ");
            }
        }).forEach((s)-> System.out.print(s+" "));
        System.out.println("\n--------- The surname Zhang --------------------");
        list.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.startsWith(" Zhang ");
            }
        }).filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.length()==2;
            }
        }).forEach((s)-> System.out.print(s+" "));
        System.out.println("\n-------- The surname Zhang is two words and only the first one ---------------");
        list.stream()
                .filter((s)->s.startsWith(" Zhang "))
                .filter((s)->s.length()==2)
                .limit(1L)
                .forEach((s)-> System.out.print(s+" "));
        System.out.println("\n-------- Zhang and skip the first one ---------------");
        list.stream()
                .filter((s)->s.startsWith(" Zhang "))
                .filter((s)->s.length()==2)
                .skip(1L)
                .forEach((s)-> System.out.print(s+" "));
        System.out.println("\n-------- Zhang's name and two words and remove the repetition ---------------");
        list.stream()
                .filter((s)->s.startsWith(" Zhang "))
                .filter((s)->s.length()==2)
                .distinct()
                .forEach((s)-> System.out.print(s+" "));
        System.out.println("\n-------- Merge the two words Zhang and Li and remove the repetition ---------------");
        Stream<String> s1 = list.stream()
                .filter((s) -> s.startsWith(" Zhang "))
                .filter((s) -> s.length() == 2)
                .distinct();
        Stream<String> s2 = list.stream().filter(s -> s.startsWith(" Li "));
        Stream<String> sss = Stream.concat(s1, s2);
        sss.forEach(s-> System.out.print(s+" "));


        System.out.println("\n-------- Find the number of Li ---------------");
        long len = list.stream().filter(s -> s.startsWith(" Li ")).count();
        System.out.println(len);


        System.out.println("***********************************");
        ArrayList<Double> doubles = new ArrayList<>();
        Collections.addAll(doubles,1.0,2.0,3.0,4.0,5.0,6.0,7.0);
        // Remove the maximum   minimum value   Average 
        // It defines a allNums As a shared variable   Receive sum 
        // averaging   First    Rank ascending    Removing    In ergodic summation 
        doubles.stream()
                .sorted((d1,d2)->Double.compare(d1,d2))
                .skip(1)
                .limit(doubles.size()-2)
                .forEach(d->allNums+=d);
        System.out.println(" The average value is : "+allNums/(doubles.size()-2));


        System.out.println("\n-------- Merge the two words surnamed Zhang and remove the repetition and return to one List aggregate ---------------");
          List<String>stringList=list.stream()
                .filter((s) -> s.startsWith(" Zhang "))
                .filter((s) -> s.length() == 2)
                .distinct()
                .collect(Collectors.toList());
        System.out.println(stringList);
    }
}


原网站

版权声明
本文为[C_ x_ three hundred and thirty]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206220910015978.html