배열에 있는 특정 요소만 추출하여, 그 결과를 스트림으로 반환합니다.
public class CommonFeaturesMain {
private List<String> students;
@Before
public void testCreateList() {
students= new ArrayList<>();
students.add("Kane");
students.add("Jane");
students.add("Joo");
students.add("charly");
students.add("charly");
students.add("charly");
students.add("Joo");
students.add("Jane");
}
...
java.util.stream 패키지
Stream<T> distinct();
배열에서 중복된 요소는 하나만 추출하고 나머지는 제외합니다. 추출된 결과는 스트림으로 반환됩니다.
(개인이 정의한 객체 스트림을 사용하는 경우 equals(), hashcode() 메서드 재정의가 필요합니다)
@Test
public void testDistinct() {
students.stream()
.distinct()
.forEach(System.out::println);
}
---출력결과---
Kane
Jane
Joo
charly
java.util.stream 패키지
Stream<T> limit(long maxSize);
parameter maxSize 만큼의 숫자로 스트림의 요소를 제한합니다.
limit(5)는 스트림의 요소를 5개로 제한합니다.
@Test
public void testLimit() {
students.stream()
.limit(5)
.forEach(System.out::println);
}
---출력결과---
Kane
Jane
Joo
charly
charly
java.util.stream 패키지
Stream<T> skip(long n);
배열의 맨 앞 요소부터 skip() parameter의 숫자 크기만큼 요소를 제외한 스트림을 반환합니다.
@Test
public void testSkipNotDistinct(){
students.stream()
.skip(4)
.forEach(System.out::println);
}
---출력결과---
charly
charly
Joo
Jane
distinct를 함께 사용하면 중복된 요소를 제외한 스트림 객체가 먼저 생성됩니다.
생성된 스트림 객체의 맨 앞 요소부터 skip() parameter의 숫자 크기만큼 요소를 제외한 스트림을 반환합니다.
@Test
public void testSkip(){
students.stream()
.distinct()
.skip(2)
.forEach(System.out::println);
}
---출력결과---
Joo
charly
[Stream] reduce method (0) | 2020.07.29 |
---|---|
[Stream] Match method (0) | 2020.07.28 |
[Stream] Optional 클래스 (0) | 2020.07.23 |
[Stream] Method references (0) | 2020.07.22 |
[Stream] map() flatMap() (0) | 2020.07.20 |
댓글 영역