☕ Java
Optional의 orElse, orElseGet, orElseThrow 사용법
Optional의 orElse, orElseGet, orElseThrow에 대해 각각의 사용법과 특징 그리고 차이를 알아보자. orElse~의 사용법 우선 orElse~의 기본적인 사용방법을 확인해보자. String isNull; String name; isNull = "loose"; name = Optional.ofNullable(isNull).orElse("test"); System.out.println(name); //isNull값이 null이 아니므로 "loose" 출력 isNull = null; name = Optional.ofNullable(isNull).orElse("test"); System.out.println(name); //isNull값이 null이므로 "test" 출력 Optiona..
Array.sort(), Collection.sort(), Comparable, Comparator 사용법
Array.sort() 배열 내에 Primitive Type을 정렬하기 위해 사용한다. 기본 정렬은 오름차순이다. String arr[] = {"a", "c", "b", "e", "d"}; Arrays.sort(arr); for(String i : arr) { System.out.print("[" + i + "]"); } System.out.println(); Arrays.sort(arr, Collections.reverseOrder()); //내림차순 for(String i : arr) { System.out.print("[" + i + "]"); } //[a][b][c][d][e] //[e][d][c][b][a] Comparable과 Comparator( Collection.sort() ) Compa..
Java 문자열 메소드 속도 효율 및 차이
보통 문자열을 비교할 때는 Equals를 이용한다. 그래서 Equals를 활용한 문자열 비교를 많이 하게 되는데 여기서 일어나는 문제점을 알아보고자 한다. long start, end; //경과 시간 체크를 위한 변수 String[] names = new String[6500000]; for(int i=0; i
Java 8 Stream 사용법
Stream 쓰는 이유 보통 자바에서 자료구조를 다룰 때 for를 이용해 반복문을 사용하지만 로직이 복잡할수록 코드가 과도하게 길어지는데 Stream을 이용하면 가독성을 살리면서 코드양을 획기적으로 줄일 수 있음. Stream 생성 자료구조 형(배열, 리스트, 맵 등)마다 Stream으로 바꿔서 사용이 가능하다. String[] strs = {"a", "b", "c"}; Stream stream = Arrays.stream(strs); Stream stream2 = Arrays.stream(arr, 1, 3); // b, c List list = Arrays.asList("a", "b", "c"); Stream stream = list.stream(); Stream parallelStream = list..