안녕하세요 엘체프  GG 임돠

배열 출력 문제 예시 입니다.


  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Comparator;
  4. import java.util.List;
  5.  
  6. public class SeaFoods {
  7.    
  8.    /*
  9.      예시) 아래와 같이 음식에 관한 배열이 주어졌을 때, 주어진 해산물 배열
  10.      을 제외한 나머지 음식을 중복을 배제하고 역순으로 정렬하여 처음 3개만
  11.      인쇄하는 프로그램을 작성하십시오.
  12.  
  13.       권장사항) Java 1.8의 함수형 및 체이닝(Chainning) 프로그래밍 방식을
  14.       이용하여 작성하여 봅시다.
  15.      
  16.       출력결과)
  17.       토마토
  18.       배
  19.       귤
  20.      */
  21.  
  22.     public static void main(String[] args) {
  23.  
  24.         String[] foods = {"토마토""가자미""배""감""배",
  25.                           "가자미""오징어",  "귤""고등어",
  26.                           "귤""멸치""감자""토마토""감"};
  27.         List<String> list = Arrays.asList(foods);
  28.  
  29.         ArrayList<String> seaFoodList = new ArrayList<String>();
  30.         String[] seaFoods = {"오징어""고등어""가자미""문어""멸치"};
  31.         seaFoodList.addAll(Arrays.asList(seaFoods));
  32.        
  33.         // 시작
  34.        
  35.         list.stream().collect(Collectors.groupingBy(x->seaFoodList.contains(x)))
           .get(false)
           .stream()
           .sorted(Comparator.reverseOrder())
           .limit(3)
           .forEach(x->System.out.println(x));
  36. /*        list.stream()
  37.             .distinct()
  38.             .collect(Collectors.groupingBy(x -> seaFoodList.contains(x)))
  39.             .get(false)
  40.             .stream()
  41.             .sorted(Comparator.reverseOrder())
  42.             .limit(3)
  43.             .forEach(System.out::println);*/
  44.        
  45.         list.stream()
  46.             .distinct()
  47.             .filter(x -> !seaFoodList.contains(x))
  48.             .sorted(Comparator.reverseOrder())
  49.             .limit(3)
  50.             .forEach(System.out::println);
  51.        
  52.         // 끝
  53.        

  54.     } // main

  55.  
  56. }//class




+ Recent posts