자바 API 기본 메소드와 스태틱 메소드

구름코딩·2020년 9월 30일
0

java8 _ 더 자바

목록 보기
7/23

Iterable의 기본 메서드

list<String> names = new ArrayList<>();
names.add("woonsik0");
names.add("woonsik1");
names.add("woonsik2");
names.add("woonsik3");
names.add("Koonsik");
names.add("Koonsik1");
names.add("Moonsik");

forEach()

// 람라식을 이용한 forEach구문 사용
names.forEach(System.out::println);
names.forEach(s -> {
	Sysout(s);
});

spliterator()

  • Iterator와 비슷한데 쪼갤수 있는 기능이 있다
  • 마찬가지로 순환이 가능하다
Spliterator<String> spliterator = names.spliterator();
위에서 순환하는 리스트를 최대한 반으로 쪼개서 새롭게 돌수 있다
Spliterator<String> spliterator1 = spliterator.trySplit();

// iterator의 hasNext()와 같은 역활 (tryAdvanced)
while (spliterator.tryAdvance(System.out::println));

while (spliterator1.tryAdvance(System.out::println));

만약 1,2,3,4의 인자가 있다면 1,2 / 3,4 로 쪼개서 3, 4 출력 후 1, 2 가 출력

Collection의 기본 메서드

removeIf()

  • 람다식으로 조건을 넣어서 삭제가 가능하다
names.removeIf(s->s.startsWith("M"));

stream(), parallelStream(), spliterator()

//스트림 활용
List<String> list = names.stream().map(String::toUpperCase)
					.filter(s-> s.startsWith("K"))
					.collect(Collectors.toList());
Spliterator<String> stringSpliterator = list.spliterator();
while(stringSpliterator.tryAdvance(System.out::println));

Comparator의 기본 메서드 및 스태틱 메서드

sort

정렬에 대해 자유로운 활용이 가능하다

  • 문자열 순서로 정렬 _ String::compareToIgnoreCase
names.sort(String::compareToIgnoreCase);
  • 반대로 정렬 _ reversed()
Comparator<String> comparator = String::compareToIgnoreCase;
names.sort(comparator.reversed());
  • 추가적인 정렬을 원하는 경우 _ thenComparing()
names.sort(comparator.reversed().thenComparing(s-> s.lastIndexOf(s)));

reversedOreder(), naturalOrder(), nullFirst(), nullLast(), comapring()

참고

자바
자바
자바
자바

profile
내꿈은 숲속의잠자는공주

0개의 댓글