728x90
반응형

JAVA 17

[JAVA] 배열(Array)과 ArrayList

동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조를 배열(Array)이라고 한다. 1. 배열은 왜 사용할까? - 같은 종류의 데이터를 효율적으로 관리 가능하다. - 같은 종류의 데이터를 순차적으로 저장한다. 장점 - 빠른 접근 가능 : 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근) 단점 - 데이터 추가/ 삭제의 어려움 : 미리 최대 길이를 지정해야한다. -> 길이를 모르는 경우에는 배열이 아닌 Collection 객체의 ArrayList를 사용하여 해결한다. 1_2. 변수 선언 시 사용되는 자료형 Primitive(원시) 자료형 / Wrapper 클래스 Primitive type Wrapper Class byte Byte short Short in..

JAVA/Data Structure 2022.10.13

[JAVA 8] 함수형(Functional) 인터페이스 와 람다(Lambda)표현식

함수형(Functional) 인터페이스 와 람다(Lambda)표현식 - 함수형 인터페이스는 추상 메소드가 오직 하나인 인터페이스를 말한다. (defult method 또는 static method는 여러개 존재해도 된다.) - @FunctionalInterface 어노테이션을 사용한다. -> 해당 인터페이스가 함수형 인터페이스 조건에 맞는지 검사해준다. (인터페이스 검증 및 유지보수를 위해 붙여주는 것이 좋다.) - 자바의 람다식은 함수형 인터페이스로만 접근이 가능하다 => 이러한 함수형 인터페이스를 사용하는 이유는 람다식을 사용하기 위함이고, 람다식을 사용 하는 이유는 불필요한 코드를 줄이고, 가독성을 높이기 위함이다. @FunctionalInterface public interface Function..

JAVA/Modern JAVA 2022.10.12

[JAVA] Queue 자료구조 add와 offer 차이

데이터 추가 시 큐가 꽉 찼을때 add는 예외를 반환하고, offer는 false를 반환한다. 예외 값 리턴 추가 add(x) offer(x) 삭제 remove() poll() 검사 element() peek() 🖖 Queue 값 추가 add() : 큐가 꽉 찬 경우 IllegalStateException 에러 발생 offer() : 큐가 꽉 찬 경우 false 반환 🖖 Queue 값 제거 remove() : 큐가 비어 있는 경우 NoSuchElementException 에러 발생 poll() : 큐가 비어 있을 경우 null 반환 clear() : 큐 비우기 🖖 Queue 맨 앞 값 확인 element() : 큐가 비어 있는 경우 NoSuchElementException 에러 발생 peek() : 비어..

JAVA/Data Structure 2022.10.10

[JAVA] 깊이 우선 탐색(DFS) 전위/중위/후위 순회

그래프 탐색 알고리즘 탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다. 대표적인 그래프 탐색 알고리즘은 DFS와 BFS가 있다. 구현 방법 DFS : 스택, 재귀함수 BFS : 큐 스택 자료구조 : 먼저 들어온 데이터가 나중에 나가는 형식으로(First In Last Out으로 FILO, 선입후출)의 자료구조이다. 큐 자료구조 : 먼저 들어온 데이터가 먼저 나가는 형식(First In First Out으로 FIFO, 선입선출)의 자료구조이다. 재귀함수 : 재귀함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다. DFS 전위 순회 : 부모 -> 왼쪽 자식 -> 오른쪽 자식 : F B A D C E G I H 중위 순회 : 왼쪽 자식 ->..

JAVA/Algorithm 2022.10.09

[JAVA] 정규 표현식(replaceAll)

String.replaceAll('From','to') - 대상 문자열 모두를 원하는 문자 값으로 변환하는 함수 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자(필수입력, 문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 [0-9]와 동일 \D 숫자를 제외한 모든 문자 \..

JAVA 2022.10.08

[JAVA] String / StringBuffer / StringBuilder 차이

String / StringBuffer, StringBuilder의 가장 큰 차이점 - String : 불변(immutable)의 속성을 가짐 - StringBuffer, StringBuilder : 가변(mutable)의 속성을 가짐 .append() / .delete() 등의 api를 이용하여 동일 객체내에서 문자열을 변경하는 것이 가능 → 따라서 문자열의 추가,수정,삭제가 빈번하게 발생할 경우라면 String 클래스가 아닌 StringBuffer/StringBuilder를 사용 StringBuffer / StringBuilder 차이점 동기화 유무(StringBuffer O / StringBuilder X) → StringBuffer는 동기화를 지원하기 때문에 멀티쓰레드 환경에서 안정성을 가지고 있..

JAVA 2022.10.08

[JAVA] HashMap

🌟 주요 메소드 void clear() 모든 매핑을 맵으로부터 삭제한다. Object clone() 현재 HashMap을 복제하여 반환한다. boolean containsKey(Object key) HashMap에 지정된 키가 포함되어 있는지 알려준다. (포함되어 있으면 true 반환) boolean containsValue(Object Value) HashMap에 지정된 값이 포함되어 있는지 알려준다. (포함되어 있으면 true 반환) Set entrySet() HashMap에 지정된 키와 값을 엔트리(키와 값의 결합)의 형태로 Set에 저장하여 반환 V get(Object key) 인자로 전달된 키의 값인 객체와 매핑되고 있는 Value를 반환한다. Object getOrDefalt(Object ke..

JAVA/Data Structure 2022.10.08
728x90
반응형