Language/Java8 [Java] JDK Java version 변경하기 (M1) 현재 버전확인 아래의 커멘드를 통해 현재 적용된 버전을 확일할 수 있다. java -version 아래의 커멘드를 통해서는 로컬에 깔려있는 모든 버전들을 확인할 수 있다. /usr/libexec/java_home -V 원하는 버전 다운받기 이전 버전들은 오라클의 아카이브에서 설치할 수 있다. 나의 경우, 11 버전이 필요하여 Java SE 11 을 선택해주었고, macOS ARM64 DMG 를 다운받고 설치하였다. 설치가 끝난 뒤, 다시 버전확인을 해주면 방금 설치한 버전이 추가된 것을 확인할 수 있다. 원하는 버전으로 변경하기 아래의 커멘드를 입력하고, 위에서 설치한 버전을 입력해준다. export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.20) source ~/.z.. 2023. 9. 25. [Java] 정규식 정리 (Regular Expression) 정규식 이란? 정규식이란 텍스트 데이터 중에서 원하는 조건과 일치하는 문자열을 찾아내기 위해 사용하는 것으로 미리 정의된 기호와 문자를 이용해서 작성한 문자열을 말한다. 사용 많은 양의 텍스트 파일 중에서 원하는 데이터를 뽑아낼 수 있다. 입력된 데이터가 형식에 맞는 지 확인할 수 있다. 문자열을 원하는 기준에 맞게 배열로 만들 수 있다. (split) 문자열 중 특정 형식을 원하는 문자열로 변경할 수 있다. (replaceAll) 정규식 패턴 문자 (Character Classes) 주의: 아래의 패턴은 하나당 하나의 글자를 의미한다. 패턴 설명 . 모든 문자 (알파벳, 숫자 뿐 아니라 유니코드로 존재하는 모든 문자) \\w [a-zA-Z0-9] 영숫자 (alphanumeric)만 허용 \\W [^a-.. 2023. 9. 21. [Java] List<int[]> 를 int[][] 로 변환 이중 배열을 생성해야 할 때, 총 길이가 얼마나 될 지 모르는 경우, List를 사용하여 문제를 해결하곤 한다. 이때 List, 즉 타입이 List 인 녀석을 int[][]로 변경해주어야 할 때, 아래와 같이 변경해 줄 수 있다. List list = new ArrayList(); ...// list 채우는 과정 생략 int[][] array = new int[list.size()][]; for (int i = 0; i < array.length; i++) { array[i] = list.get(i); } 나쁘지 않은 방법이지만, Stream을 사용하여 보다 간결하게 변경해 줄 수 있었다. int[][] array = aList.stream().toList().toArray(new int[0][]); 하.. 2023. 9. 6. [Java] Deque 알아보기 Deque 이란? Deque 는 Double Ended Queue 의 약자로, 기존의 Queue나 Stack과는 다르게 양 방향에서 접근할 수 있는 자료구조이다. Deque의 구현체는 대부분 용량에 제한이 없지만, 용량 제한이 있는 구현체 또한 존재한다. 삽입, 제거, 조사 기능을 하는 메소드들을 제공하고, 각 메소드들은 실패 시 예외처리를 하는 형태와 null 이나 false를 리턴하는 형태가 존재한다. 구현 클래스 ArrayDeque Deque 인터페이스를 동적배열로 구현한 것으로, 용량 제한이 없고 필요에 따라 용량이 늘어난다. 스레드로부터 안전하지 않다. 대부분의 연산은 상수 시간 내에 가능하다. (remove, contains 등 제외) Stack이나 Queue를 구현할 시, Stack 과 Li.. 2023. 9. 4. 이전 1 2 다음