0
点赞
收藏
分享

微信扫一扫

对简单工厂模式、工厂方法模式、抽象工厂模式的简单理解

zibianqu 2024-05-29 阅读 7

需求:把集合中所有以“张”开头,且是3个字元素存储到一个新的集合

 public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        Collections.addAll(names,"张飞","张无忌","张三丰","猪八戒","唐僧");
        System.out.println(names);

        ArrayList<String> list = new ArrayList<>();

        for (String name : names) {
            if(name.startsWith("张") && name.length() == 3){
                list.add(name);
            }
        }
        System.out.println(list);

        //开始使用Stream流来解决这个要求
        List<String> list2 = names.stream().filter(s -> s.startsWith("张"))
                .filter(a -> a.length() == 3).collect(Collectors.toList());
    }

1.如何获取Stream流

public static void main(String[] args) {
        //1.如何获取List集合的Stream流
        ArrayList<String> names = new ArrayList<>();
        Collections.addAll(names,"123","1234");
        Stream<String> stream = names.stream();

        //2.如何获取Set集合的Stream流
        HashSet<String> set = new HashSet<>();
        Collections.addAll(set,"123","1234");
        Stream<String> stream1 = set.stream();

        //3.如何获取Map集合的Stream流
        Map<String,Double> map = new HashMap<>();
        map.put("123",12.12);
        map.put("1234",15.12);
        map.put("1235",13.12);

        Set<String> keys = map.keySet();
        Stream<String> ks = keys.stream();

        Collection<Double> values = map.values();
        Stream<Double> vs = values.stream();

        //4.如何获取数组的Stream流
        String name2[] = {"aaa","bbb","ccc"};
        Stream<String> s1 = Arrays.stream(name2);
        Stream<String> s2 = Stream.of(name2);


    }
举报

相关推荐

0 条评论