본문 바로가기

웹 개발/Java

[Web_JAVA] 36

실습(Stream)

1. 1~10까지 ArrayList에 담고 출력(IntStream)

import java.util.ArrayList;
import java.util.stream.IntStream;

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

		ArrayList<Integer> datas = new ArrayList<>();

		IntStream.rangeClosed(1, 10).forEach(data -> datas.add(data));
		System.out.println(datas);
		
	}
}

 

결과

 

 

 

2. 1~100까지 중 짝수만 ArrayList에 담고 출력

import java.util.ArrayList;
import java.util.stream.IntStream;

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

		ArrayList<Integer> datas = new ArrayList<>();

		IntStream.range(1, 51).forEach(data -> datas.add(data * 2));
		System.out.println(datas);
		
	} 
}

 

결과

 

 

 

3. A~F까지 ArrayList에 담고 출력

import java.util.ArrayList;
import java.util.stream.IntStream;

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

		ArrayList<Character> datas = new ArrayList<>();

		IntStream.range(65, 71).forEach(data -> datas.add((char)data));
//      or IntStream.range(0, 6).forEach(data -> datas.add((char)(data + 65)));
//      or IntStream.range(0, 6).map(data -> data + 65).forEach(data -> datas.add((char)data));
		
		System.out.println(datas);
		
	}
}

 

 

 

결과

 

 

 

 

4. A~F까지 중 D 제외하고 ArrayList에 담은 후 출력

import java.util.ArrayList;
import java.util.stream.IntStream;

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

		ArrayList<Character> datas = new ArrayList<>();

		IntStream.range(0, 5)
		.map(data -> data > 2 ? data + 1 : data)
		.forEach(data -> datas.add((char)(data + 65)));

		System.out.println(datas);
		
	}
}

 

결과
 

 

 

 

5. 5개의 정수를 입력받은 후 ArrayList에 담고 최대값과 최소값 출력

import java.util.ArrayList;
import java.util.Arrays;

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

		ArrayList<Integer> datas = new ArrayList<>(Arrays.asList(10, 20, 30, 40, 50));

		System.out.println(datas.stream().mapToInt(data -> data).max().getAsInt());
		System.out.println(datas.stream().mapToInt(data -> data).min().getAsInt());
		
	}
}

 

결과

 

 

 

6. 문자열을 5개 입력받고 모두 소문자로 변경

import java.util.ArrayList;
import java.util.stream.IntStream;
import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);
		ArrayList<String> datas = new ArrayList<>();

		IntStream.rangeClosed(0, 4).forEach(data -> datas.add(sc.next()));
		datas.stream().map(String::toLowerCase).forEach(System.out::println);
		
	}
}

 

결과

 

 

 

7. Apple, banana, Melon 중 첫번째 문자가 대문자인 문자열 출력

import java.util.ArrayList;
import java.util.Arrays;

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

		ArrayList<String> fruits = new ArrayList<>(Arrays.asList("Apple", "banana", "Melon"));

		String resuilt = fruits.stream().filter(fruit -> fruit.charAt(0) >= 65)
				.filter(fruit -> fruit.charAt(0) <= 90)
				.collect(Collectors.joining(", "));
		
		System.out.println(resuilt);
		
	}
}

 

결과

 

 

 

8. 한글을 정수로 변경(입력 예 : 일공이사, 출력 예 : 1024)

import java.util.Scanner;

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

		String han = "공일이삼사오육칠팔구";
		Scanner sc = new Scanner(System.in);
		String data = null;
		System.out.print("입력 : ");
		data = sc.next();
		
		data.chars().map(c -> han.indexOf(c)).forEach(System.out::print);
		
	}
}

 

결과

 

 

 

9. 정수를 한글로 변경(입력 예 : 1024, 출력 예 : 일공이사)

import java.util.Scanner;

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

		String han = "공일이삼사오육칠팔구";
		Scanner sc = new Scanner(System.in);
		System.out.print("입력 : ");
		String data = sc.next();
		
		data.chars().map(c -> c - 48).forEach(c -> System.out.print(han.charAt(c)));
		
	}
}

 

결과

 

 

 

'웹 개발 > Java' 카테고리의 다른 글

[Web_JAVA] 38  (0) 2022.03.24
[Web_JAVA] 37  (0) 2022.03.23
[Web_JAVA] 35  (0) 2022.03.21
[Web_JAVA] 34  (0) 2022.03.20
[Web_JAVA] 33  (0) 2022.03.19