기타 자바8에 추가된 편리기능
JAVA/Java 8

기타 자바8에 추가된 편리기능

반응형

String.joiner
구분자를 이용해서 입력된 데이터를 구분해서 String으로 반환



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Java8Test {
 
    public static void main(String args[]) {
        StringJoiner sj = new StringJoiner(",");
        sj.add("babo");
        sj.add("wedul");
        sj.add("pnp");
        System.out.println(sj.toString());
        
        // 2, 3번재 매개변수를 이용하여 prifix, suffix를 붙힐 수 있다.
        sj = new StringJoiner(",""자기소개 -- "" -- 끝");
        sj.add("babo");
        sj.add("wedul");
        sj.add("pnp");
        System.out.println(sj.toString());
    }
}
 
=> 결과
babo,wedul,pnp
자기소개 -- babo,wedul,pnp -- 끝
cs



String.join
- 구분자를 이용해서 입력된 데이터를 구분해서 String으로 변환

1
2
3
4
5
List<String> data = Arrays.asList("babo", "wedul");
System.out.println(String.join(",", data));
 
==> 결과 
babo,wedul
cs





Collection에서 조건이 부함되면 삭제하는 Removeif

1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String args[]) {
    List<String> data = Arrays.asList("babo""wedul");
        
    Predicate<String> predicate = new Predicate<String>() {
        @Override
        public boolean test(String name) {
            return name.equals("wedul");
        }
    };
        
    data.removeIf(predicate);
    data.stream().forEach(System.out::println);
cs


List 포함된 부분중 모든 부분을 한번에 변경할  있는 기능을 제공하는 ReplaceAll


1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String args[]) {
    List<String> data = Arrays.asList("babo""wedul");
        
    // UnaryOperator는 입력된 input의 값을 반화해주는 클래스 함수형 인터페이스
    UnaryOperator<String> unaryOpt = (String name) -> {return "bb wedul";};
        
    data.replaceAll(unaryOpt);
    data.forEach(System.out::println);
 
==> 결과값
bb wedul
bb wedul
cs



List안에 컨텐츠를 comparator 맞게 정렬 시켜주는 sort 메소드




Stream  체크   제거



1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String args[]) {
    List<String> data = Arrays.asList("babo"null"wedul"null);
        
    // null이 있는 부분이 있는지 체크
    System.out.println("is Contain null? : " + data.stream().anyMatch(Objects::isNull));
 
    // 널 제거
    data.stream().filter(Objects::nonNull).forEach(System.out::println);
 
==> 결과
is Contain null? : true
babo
wedul
cs


반응형