Stream 33

 

        

package Array.collection;

import java.util.*;
import java.util.stream.Stream;

public class stream1 {
    public static void main(String[] args) {

//、如何茯取List集合的Stream流?
        List<String> names = new ArrayList<>();
        Collections. addAll(names,"方法","过时","丰富");
        Stream<String> stream = names . stream();

//2、如何荻取Set集合的Stream流?
        Set<String> set = new HashSet<>();
        Collections. addAll(set, "刈徳半", "張曼玉", "蜘蛛精","弓徳", "徳母西並");
      Stream<String> stream1 = set. stream();
        stream1. filter(s -> s. contains("徳")). forEach(s -> System. out. println(s));

// 3、如何茯取Map集合的Stream流?
        Map<String, Double> map = new HashMap<>();
        map. put("古力娜扎",172.3);
        map . put("迪雨熱巴",168.3);
        map.put("弓尓扎哈",166.3);
        map. put("卞尓扎巴",168.3);
        Set<String> keys = map.keySet() ;
        Stream<String> ks = keys. stream();
        Collection<Double> values = map. values();
        Stream<Double> vS = values. stream();
        Set<Map. Entry<String, Double>> entries = map. entrySet();
        Stream<Map. Entry<String, Double>> kvs = entries. stream() ;
        kvs. filter(e -> e.getKey() . contains("把" )).forEach(e -> System. out
                 .println(e.getKey()+ "-->" +e.getValue()));

// 4. 如何获取数组Stream
        String[] names2 = {"张翠山","东方不败生","唐大山","独孤求败"};
        Stream<String> stream2 = Arrays. stream(names2);
        Stream<String> names21 = Stream. of(names2) ;

    }
}

 

package Array.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;

public class stream2 {
    public static void main(String[] args) {
        List<Integer> scores=new ArrayList<>();
        Collections.addAll(scores,32,45,425,55,47,747,56);
        //找出成绩大于56的数据,并升序后,在输出
     scores.stream().filter(s -> s>=56).sorted().
             forEach(s -> System.out.println(s));
     List<student> students=new ArrayList<>();
     student s1=new student("完全",31,123.2);
     student s2=new student("访问",13,123.2);
     student s3=new student("太她",34,123.2);
     student s4=new student("完全",31,123.2);
     Collections.addAll(students ,s1,s2,s3,s4);
     //找出年龄大于等于23,且年龄小于等于34的学生,并按年龄降序输出
        students.stream().filter(s -> s.getAge()>=23&& s.getAge()<=34 )
                .sorted((o1,o2) ->o2.getAge()-o1.getAge()).forEach(s ->
                        System.out.println(s));
        //取出身高最高的前三名
       students.stream().sorted((o1,o2) ->Double.compare(o2.getHeight(),o1.getHeight()))
               .limit(3).forEach(s -> System.out.println(s));
       //取出身高倒数两名学生
        students.stream().sorted((o1,o2) ->Double.compare(o2.getHeight(),o1.getHeight()))
                .skip(students.size()-2).forEach(System.out::println);
//找出身高超过123.4的学生叫什么,要求去除重复名字,在输出
        students.stream().filter(s -> s.getHeight()>123.4).map(s -> s.getName())
                .distinct().forEach(System.out::println);
        //自定义对象(希望内容相同就重复)重写hashcode,equals方法
        students.stream().filter(s -> s.getHeight()>123.4)
                .distinct().forEach(System.out::println);
        Stream<String> a=Stream.of("ewr","wrw");
        Stream<String> d=Stream.of("eef","wegt");
        Stream f=Stream.concat(a,d);
        f.forEach(System.out::println);


    }
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值