- 문자열에서 특정 문자의 개수 세기
문자열명.chars().filter(c -> c == 원하는 문자).count();
public class Ex02 {
public static void main(String[] args) {
String str = "apple";
long cnt = str.chars().filter(c -> c == 'p').count();
System.out.println(cnt);
}
}
- 0에서 n까지의 수 중 조건을 만족하는 수만 배열로 반환하기
import java.util.stream.IntStream;
IntStream.rangeClosed(0, n).filter(조건 람다식).toArray();
import java.util.Arrays;
import java.util.stream.IntStream;
public class Ex03 {
public static void main(String[] args) {
System.out.println(Arrays.toString(IntStream.rangeClosed(0, 10).filter(x -> x%2 == 0).toArray()));
}
}
- 0에서 n까지의 수 중 조건을 만족하는 수의 개수 세기
import java.util.stream.IntStream;
IntStream.rangeClosed(0, n).filter(조건 람다식).count();
import java.util.stream.IntStream;
public class Ex01 {
public static void main(String[] args) {
long cnt = IntStream.rangeClosed(1, 10).filter(x -> x%2 == 0).count();
System.out.println(cnt);
}
}
- 배열에서 특정 값을 가지고 있는지 확인하기
import java.util.Arrays;
Arrays.stream(배열1).anyMatch(배열2[index]::equals);
import java.util.Arrays;
public class Ex04 {
public static void main(String[] args) {
String[] strArr1 = {"banana", "apple", "grape", "melon", "strawberry"};
String[] strArr2 = {"mango", "apple", "watermelon", "pear", "strawberry"};
boolean contains = Arrays.stream(strArr1).anyMatch("grape"::equals);
System.out.println(contains);
for(int i=0; i<strArr1.length; i++) {
System.out.println("strArr1 contains "+ strArr2[i] + "? = " + Arrays.stream(strArr1).anyMatch(strArr2[i]::equals));
}
}
}
- int 리스트를 배열로 변환하기
리스트명.stream().mapToInt(x -> x).toArray();
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
public class Ex05 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for(int i=1; i<11; i++) {
list.add(i);
}
int[] arr = list.stream().mapToInt(x -> x).toArray();
System.out.println(Arrays.toString(arr));
for(int i =0; i<arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
}
}
- String 리스트를 배열로 변환하기
리스트명.stream().map(s -> s).toArray(String[]::new);
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Ex13 {
public static void main(String[] args) {
List<String> mapToString = new ArrayList<>();
for(int i=0; i<10; i++) {
mapToString.add("hello");
}
String[] answer = mapToString.stream().map(s -> s).toArray(String[]::new);
System.out.println(Arrays.toString(answer));
}
}
- int 리스트 숫자 원소들의 합 구하기
number.stream().mapToInt(Integer::intValue).summaryStatistics().getSum();
import java.util.ArrayList;
import java.util.List;
public class Ex18 {
public static void main(String[] args) {
String s2 = "10 20 30 40";
String[] numArr = s2.split(" ");
List<Integer> number = new ArrayList<>();
for(String s : numArr) {
number.add(Integer.valueOf(s));
}
System.out.println(number.stream()
.mapToInt(Integer::intValue)
.summaryStatistics().getSum());
}
}
- int 리스트 숫자 원소들의 평균 구하기
number.stream().mapToInt(Integer::intValue).summaryStatistics().getAverage();
import java.util.ArrayList;
import java.util.List;
public class Ex18 {
public static void main(String[] args) {
String s2 = "10 20 30 40";
String[] numArr = s2.split(" ");
List<Integer> number = new ArrayList<>();
for(String s : numArr) {
number.add(Integer.valueOf(s));
}
System.out.println(number.stream()
.mapToInt(Integer::intValue)
.summaryStatistics().getAverage());
}
}
import java.util.ArrayList;
import java.util.List;
public class Ex18 {
public static void main(String[] args) {
String s2 = "10 20 30 40";
String[] numArr = s2.split(" ");
List<Integer> number = new ArrayList<>();
for(String s : numArr) {
number.add(Integer.valueOf(s));
}
System.out.println((int)(number.stream()
.mapToInt(Integer::intValue)
.summaryStatistics().getAverage()));
}
}
- int 리스트 숫자 원소들의 최댓값 구하기
number.stream().mapToInt(Integer::intValue).summaryStatistics().getMax();
import java.util.ArrayList;
import java.util.List;
public class Ex18 {
public static void main(String[] args) {
String s2 = "10 20 30 40";
String[] numArr = s2.split(" ");
List<Integer> number = new ArrayList<>();
for(String s : numArr) {
number.add(Integer.valueOf(s));
}
System.out.println(number.stream()
.mapToInt(Integer::intValue)
.summaryStatistics().getMax());
}
}
- int 리스트 숫자 원소들의 최솟값 구하기
number.stream().mapToInt(Integer::intValue).summaryStatistics().getMin();
import java.util.ArrayList;
import java.util.List;
public class Ex18 {
public static void main(String[] args) {
String s2 = "10 20 30 40";
String[] numArr = s2.split(" ");
List<Integer> number = new ArrayList<>();
for(String s : numArr) {
number.add(Integer.valueOf(s));
}
System.out.println(number.stream()
.mapToInt(Integer::intValue)
.summaryStatistics().getMin());
}
}
'자바(JAVA)' 카테고리의 다른 글
[자바(Java)] 10진수 <-> 2진수 변환 (0) | 2023.01.02 |
---|---|
[자바(Java)] char <-> int 변환 (0) | 2022.12.31 |
[자바(Java)] 문자열 <-> 배열 변환 (0) | 2022.12.31 |
[자바(Java)] 스트림(stream) (0) | 2022.12.20 |
[자바(Java)] 람다식 (0) | 2022.12.20 |