Study_The JAVA 8_6

dragon9265·2022년 2월 4일
0

스터디

목록 보기
16/23

자바 기초 스터디_22.02.04(목)


Iterable의 기본 메소드

forEach()

  • 순환할때 편하게 쓸 수 있다.
  • 리턴값이 없다.

public class App {
	public static void main(String[] args) {
    	List<String> name = new ArrayList<>();
        name.add("a");
        name.add("b");
        name.add("c");
        
        name.forEach(s - > {
        	System.out.printlnt(s);
        }
        name.forEach(System.out::println); // 메소드 레퍼런스
        
        /* a
     	 * b
         * c
         */
    }
}

spliterator()

  • 쪼갤수 있는 기능을 가진 iterator 라고 보면된다.
  • trySplit()을 활용해서 절반으로 쪼갤수 있다.(홀수 3이면 2,1 이런식으로 쪼개짐, 순서는 중요하지않을때 쓰면 좋다.)

public class App {
	public static void main(String[] args) {
    	List<String> name = new ArrayList<>();
        name.add("a");
        name.add("b");
        name.add("c");
        name.add("d");
        
        Spliterator<String> spliterator = name.spliterator();
        Spliterator<String> spliterator1 = spliterator.trySplit();
        while (spliterator.tryAdvance(System.out::println));
        System.out.println("=====");
        while (spliterator1.tryAdvance(System.out::println));       
        
        
        /* c
     	 * d
         * =====
         * a
         * b/
        
    }
}

Collection의 기본 메소드

removeIf(Predicate)

  • 조건에 해당하는것을 제거하는 메소드

public class App {
	public static void main(String[] args) {
    	List<String> name = new ArrayList<>();
        name.add("a");
        name.add("b");
        name.add("c");
        name.add("d");
        
       	name.removeIf(s -> s.startsWith("a")); // a로 시작하는 문자열 제외
        
    }
}

Comparator의 기본 메소드

reversed()

  • 반대로 정렬하게 만드는 메소드

public class App {
	public static void main(String[] args) {
    	List<String> name = new ArrayList<>();
        name.add("a");
        name.add("b");
        name.add("c");
        name.add("d");
        
       	Comparator<String> compareToIgnoreCase = String::compareToIgnoreCase;
        name.sort(compareToIgnoreCase.reversed());
        
        /*
         *d
         *c
         *b
         *a
         */
        
    }
}

thenComparing(조건)

  • 특정 조건으로 정렬할 수 있다.

public class App {
	public static void main(String[] args) {
    	List<String> name = new ArrayList<>();
        name.add("a");
        name.add("b");
        name.add("c");
        name.add("d");
        
       	Comparator<String> compareToIgnoreCase = String::compareToIgnoreCase;
        name.sort(compareToIgnoreCase.reversed().thenComparing(조건));
        
        
    }
}
profile
코딩도 점진적 과부화

0개의 댓글