자바/더 자바: Java 8
자바 8 API의 기본 메소드와 스태틱 메소드
Holy Moly
2022. 3. 26. 17:23
Iterable의 기본 메소드
● forEach()
● spliterator()
List<String> name = new ArrayList<>();
name.add("holy");
name.add("moly");
name.add("god");
name.add("jesus");
// 람다 표현식
name.forEach(s -> {
System.out.println(s);
});
// 메소드 참조
name.forEach(System.out::println);
// splitrator로 만들어서
Spliterator<String> spliterator = name.spliterator();
// trySplit을 이용하여 두개로 나누어줌
Spliterator<String> spliterator1 = spliterator.trySplit();
while (spliterator.tryAdvance(System.out::println));
System.out.println("===============");
while (spliterator1.tryAdvance(System.out::println));
System.out.println("===============");
Collection의 기본 메소드
● stream() / parallelStream()
● removeIf(Predicate)
● spliterator()
// map으로 대문자로 매핑, filter를 이용해 name안에 "G"로 시작하는 객체 갯수
long k = name.stream().map(String::toUpperCase)
.filter(s->s.startsWith("G")).count();
System.out.println(k);
// map으로 대문자로 매핑, filter를 이용해 name안에 "G"로 시작하는 객체 Set으로 모아줌
System.out.println("===============");
Set<String> c = name.stream().map(String::toUpperCase)
.filter(s->s.startsWith("G")).collect(Collectors.toSet());
System.out.println(c);
// h로 시작하는 문자열 제거
System.out.println("===============");
name.removeIf(s->s.startsWith("h"));
name.forEach(System.out::println);
Comparator의 기본 메소드 및 스태틱 메소드
● reversed()
● thenComparing()
● static reverseOrder() / naturalOrder()
● static nullsFirst() / nullsLast()
● static comparing()
// comparator를 역으로 sort
System.out.println("===============");
Comparator<String> comparator = String::compareToIgnoreCase;
name.sort(comparator.reversed());
System.out.println(name);