자바 8 Stream 기본 사용(정렬,그룹,구 합)

6192 단어 자바
여기에 일반적인 방식 과 Stream 의 다양한 수요 에 대한 코드 대 비 를 적 으 세 요. 
/**
     *           
     */
    public static void getElement(){
        List list = new ArrayList<>();
        list.add("java");
        list.add("HTML");
        list.add("mysql");
        for (String s : list) {
            if(s.equals("java") || s.equals("HTML")){
                System.out.println(s);
            }
        }
    }

    /**
     *           
     */
    public static void getElementByStream(){
        List list = new ArrayList<>();
        list.add("java");
        list.add("HTML");
        list.add("mysql");
        List collect = list.stream()
                .filter(s -> s.equals("java") || s.equals("HTML"))
                .collect(Collectors.toList());
        System.out.println(collect);

    }

    //           stream     (           )

    /**
     *       
     */
    public static void duplicateRemovalElement(){
        List list = new ArrayList<>();
        list.add("java");
        list.add("java");
        list.add("mysql");
        Set set = new HashSet<>();
        for(String s : list){
            set.add(s);
        }
        System.out.println(set);
    }

    /**
     *       
     */
    public static void duplicateRemovalElementByStream(){
        List list = new ArrayList<>();
        list.add("java");
        list.add("java");
        list.add("mysql");
        Set collect = list.stream()
                .flatMap(s -> list.stream())
                .collect(Collectors.toSet());
        System.out.println(collect);
    }

    /**
     *         
     */
    public static void getElemenByGroup(){
        List list = new ArrayList<>();
        list.add(new User("abc"," "));
        list.add(new User("def"," "));
        list.add(new User("123"," "));
        list.add(new User("456"," "));
        Map> map = new HashMap<>();
        for(User s : list){
            if(s.getSex().equals(" ")){
                if(map.containsKey(" ")){
                    List sex = map.get(" ");
                    sex.add(s);
                    map.put(" ",sex);
                }else{
                    List temp = new ArrayList<>();
                    temp.add(s);
                    map.put(" ",temp);
                }
            }
            if(s.getSex().equals(" ")){
                if(map.containsKey(" ")){
                    List sex = map.get(" ");
                    sex.add(s);
                    map.put(" ",sex);
                }else{
                    List temp = new ArrayList<>();
                    temp.add(s);
                    map.put(" ",temp);
                }
            }
        }
        System.out.println(map);
    }

    /**
     *              
     */
    public static void getElemenByGroupByStream(){
        List list = new ArrayList<>();
        list.add(new User("abc"," "));
        list.add(new User("def"," "));
        list.add(new User("123"," "));
        list.add(new User("456"," "));
        Map> collect = list.stream()
                .collect(Collectors.groupingBy(User::getSex));
        System.out.println(collect);
    }

    /**
     *         
     */
    public static void getElementBySort(){
        List list = new ArrayList<>();
        list.add(new User("abc"," ",23));
        list.add(new User("def"," ",21));
        list.add(new User("123"," ",18));
        list.add(new User("456"," ",17));
        Collections.sort(list,new Comparator() {
            @Override
            public int compare(User o1, User o2) {
                if(o1.getAge() > o2.getAge()){
                    return 1;
                }else if(o1.getAge() == o2.getAge()){
                    return 0;
                }else{
                    return -1;
                }
            }
        });
        System.out.println(list);
    }

    /**
     *         
     */
    public static void getElementBySortByElement(){
        List list = new ArrayList<>();
        list.add(new User("abc"," ",23));
        list.add(new User("def"," ",21));
        list.add(new User("123"," ",18));
        list.add(new User("456"," ",17));
        List collect = list.stream()
                .sorted(Comparator.comparing(User::getAge)
                .reversed()).collect(Collectors.toList());
        System.out.println(collect);
    }

    /**
     *    
     */
    public static void getTotalAge(){
        List list = new ArrayList<>();
        list.add(new User("abc"," ",23));
        list.add(new User("def"," ",21));
        list.add(new User("123"," ",18));
        list.add(new User("456"," ",17));
        int total = 0;
        for(User user : list){
            total += user.getAge();
        }
        System.out.println(total);
    }

    /**
     *    
     */
    public static void getTotalAgeByStream(){
        List list = new ArrayList<>();
        list.add(new User("abc"," ",23));
        list.add(new User("def"," ",21));
        list.add(new User("123"," ",18));
        list.add(new User("456"," ",17));
        int sum = list.stream().mapToInt(user -> user.getAge()).sum();
        System.out.println(sum);
    }

좋아 하 는 것 은 톱'서 담 기술'에 주목 하 셔 도 됩 니 다. 》

좋은 웹페이지 즐겨찾기