본문 바로가기

IT/JAVA10

Stack, Queue Queue : FIFO 구조 - add() : 객체 추가( 성공시 true 반환, 실패 or 저장공간 부족한 경우 illegalStateExcetpion 발생 ) - remove() : 객체 꺼내서 반환 -> 비어있는 경우 NoSuchElementException 발생 - element() : 삭제 없이 요소 읽어옴-> 비어있는 경우 NoSuchElementException 발생 - offer() : 객체 저장 (성공시 true, 실패시 false) - poll() : 객체 꺼내서 반환 -> 비어있는 경우 null 반환 - peek() : 삭제 없이 요소 반환 -> 비어있는 경우 null 반환 - clear() : 큐비우기 *queue에 데이터를 추가하는 offer() / add() 의 차이로는 큐가 꽉.. 2024. 4. 2.
자바 역순 정렬, Collections.reverseOrder() 사용, 백준 7785 Collections.reverseOrder()는 역순으로 정렬하기 위한 Comparator를 생성하는 정적 메서드이다. 이 Comparator를 사용하면 기본적으로 오름차순으로 정렬되는 리스트를 내림차순으로 정렬할 수 있다. List 형식의 result 값을 역순으로 정리하고 싶다면 Collections.sort( result, Collections.reverseOrder() );는 result 리스트를 역순으로 정렬한다. 이를 단순 오름 차순으로 정렬하기 위해서는 Collections.sort( result ); 만 헤주면 된다. 아래 백준 문제를 예시로 마무리 하고자 한다. import java.util.*; public class DemoApplication { public static void.. 2024. 3. 31.
next(), nextLine() Scanner의 next()와 nextLine()의 차이는 [개행문자]를 무시하는 여부의 차이다. next() 공백 전까지의 단어를 읽는다. 공백 뒤, 개행 문자는 가져오지 않는다. 입력값 Hi Hello Welcome to my place 가져오는 값 Hi *초록글씨 : 입력값 / 흰글씨: 출력값 nextLine() 엔터치기 전까지의 문장 전체를 가져온다. 한줄 단위 입력을 받아서 개행 문자를 포함하여 가져온다. Hello 뒤에는 /n도 포함되어 있는 것이다. 2024. 3. 26.
Scanner vs BufferedReader Scanner : java.util.Scanner [특징] 자바가 가지고 있는 라이브러리이다. 공백이나 개행을 기준으로 읽는다. 버퍼 사이즈가 1024byte이다. Thread unsafe하다. [사용예시] Scanner sc = new Scanner(System.in); String st = sc.nextLine(); BufferedReader :java.io.BufferedReader [특징] 데이터를 한번에 읽어와 버퍼(임시 메모리)에 보관 후 데이터를 읽어온다. 데이터를 String으로만 읽고 가져온다. 버퍼 사이즈가 8192byte이다. Thread safe 하다. Scanner보다 소요시간이 적다. [사용예시] BufferedReader br = new BufferedReader(InputSt.. 2024. 3. 26.
인텔리제이 롬복 설치 및 설정 롬복(Lombok)은 자바에서 반복적으로 작성되는 것들을 간단하게 만들어주는 라이브러리다. 인텔리제이 설정 : 롬복 플러그인 설치 - setting -> plugins - Lombok 검색하여 설치 : Dependency 설정 spring project에서 lombok 추가하면 gradle에 자동으로 설정이 되는데, implementation 'org.projectlombok:lombok' 추가해주면 될 줄 알았는데, 자동 설정되어있는 걸 보니 아래와 같이 되어있더라 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 이 두개가 dependency에 추가되어있었다. : Enable annotation 설.. 2024. 3. 23.
[Error][IntelliJ] 인텔리제이 finished with non-zero exit value 1 에러 발생 프로젝트의 빌드 및 실행이 default 로 Gradle로 선택이 되어있는데, 이를 IntelliJ로 변경해주어야 인텔리제이에서 실행시 해당 에러가 발생하지 않는다. 해결방법은 간단하다. 위 창에서 Build and run using: Run tests using: 설정이 Gradle 이었던 것을 확인했다. 변경해주니 아주 잘 돌아간다. 맥북으로 새롭게 시작하니 하나하나 셋팅 다시 해야되는게 많다. 이런것도 맞춰줬었나..싶은 새로움이 느껴진다. 2023. 10. 28.