☕ Java

    Java에서 일급 객체(First-Class Citizen)와 일급 컬렉션(First-Class Collection)의 의미

    이 글은 모든지 검색하면 나오는 도라에몽 향로님의 일급 컬렉션의 소개와 써야할 이유 글을 참조했습니다. 향로님의 글을 복붙한 글은 많았지만 왜 일급 컬렉션은 멤버변수가 1개만 존재해야 하는지, 일급이란 표현은 왜 썼는지에 대한 근원적인 궁금함이 해소하고자 써보는 글 입니다. 일단 그 시작은 왜 '일급'인지에 대한 궁금함에서 시작합니다. 일급(First-Class)이란? 일급이라는 표현은 '1등 시민, 2등 시민'이라는 용어에서 나온 표현입니다. 그걸 컴퓨터 용어에 최초로 접목시켜서 헷갈리게 만든 사람이 바로 아래 장발 신사분. 사회적으로 1등 시민은 언제 어디서든 차별을 받지 않는 시민을 말하고 2등 시민은 언제 어디서든 차별을 받는 시민을 말합니다. 그래서 컴퓨터 용어에서 '일급'이라는 표현은 위의 개..

    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