728x90
Java & Spring
40

[Java] LinkedList

새로운 객체를 삽입하거나 삭제하기 간편 물리 메모리를 연속적으로 사용하지 않아도 되기 때문에 관리가 간편 ArrayList는 중간 인덱스의 객체를 제어하면 뒤의 객체의 인덱스가 1씩 앞으로 당겨지기때문에 빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList보다 링크만 변경하면되는 LinkedList가 좋은 성능을 발휘 ArrayList는 내부 배열에 객체를 저장하여 인덱스로 관리하지만 LinkedList는 인접 참조를 링크하여 체인처럼 관리 수정 과정 탐색, 삽입, 삭제: O(n) 시작과 끝의 삽입, 삭제: O(1) ArrayList vs LinkedList 구분 순차적으로 추가/삭제 중간에 추가/삭제 검색 ArrayList 빠름 느림 빠름 LinkedList 느림 빠름 느림 메소드 정리 값 추..

Java & Spring 2023.10.20

[Java] HashMap

Map? 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조 key와 value는 모두 객체 key는 중복 저장될 수 없으며 value는 중복 저장 가능 Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있음 Map의 공통 메소드 메소드 설명 put(key, value) 주어진 키로 값을 저장하며 새로운 키일 경우 null을 반환하고 동일한 키가 있을 경우 값을 대체하고 이전 값을 리턴 containsKey(key) 주어진 키가 있는지 여부 containsValue(value) 주어진 값이 있는지 여부 entrySet() 키와 값의 쌍으로 구성된 모든 Map.Entry 객체를 Set에 담아 반환 get(key) ..

Java & Spring 2023.10.19

[Java] JVM과 Java의 실행 순서

JVM(Java Virtual Machine) 자바 소스 파일(*.java)를 컴파일링한 바이트 코드 파일(*.class)는 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. 그것이 JVM(Java Virtual Machine)이다. 운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 JVM은 운영체제에 종속적이다. 운영체제별로 제공되는 JDK 또는 JRE를 설치하면 자동으로 JVM이 설치된다. 즉, JVM도 운영체제별로 설치된다. 소스 파일(*.java) 작성 컴파일러(javac.exe)로 컴파일 생성된 바이트 코드 파일(*.class)는 JVM(java.exe)에 의해 해석되고 해당 운영체제에 맞게 기계어로 번역 후 실행

Java & Spring 2023.10.12

[Java] 배열과 리스트를 정렬할 수 있는 방법 정리

Arrays.sort() 배열을 오름차순 정렬 import java.util.Arrays; int[] array = {2, 6, 3, 1}; Arrays.sort(array); // [1, 2, 3, 6] Collections.sort() 컬렉션(List, Set)을 오름차순 정렬 import java.util.Collections; import java.util.List; import java.util.ArrayList; List list = new ArrayList(); list.add(3); list.add(1); list.add(6); list.add(2); Collections.sort(list); // [1, 2, 3, 6] Comparable TreeSet과 TreeMap은 정렬을 위해 ja..

Java & Spring 2023.10.09

[Java] Stack 정리

Stack 나중에 넣은 객체가 먼저 빠져나가는 LIFO(Last In First Out) 구조 그래프 깊이 우선 탐색(DFS)에 사용 대표적인 예로 JVM 스택 메모리가 있다. 스택 메모리에 저장된 변수는 나중에 저장된 것부터 제거된다. import java.util.Stack; // E: 리턴 타입 Stack stack = new Stack(); 메소드 설명 push 주어진 객체를 스택에 추가 peek 스택의 맨 위(뒤) 객체를 가져온다. 객체를 스택에서 제거하지 않는다. pop 스택의 맨 위(뒤) 객체를 가져온다. 객체를 스택에서 제거한다. clear 스택 비우기

Java & Spring 2023.10.09

[Java] Queue와 PriorityQueue 정리

Queue 먼저 넣은 객체가 먼저 빠져나가는 FIFO(First In First Out) 구조 그래프 넓이 우선 탐색(BFS)에서 사용 대표적인 예로 스레드풀(ExecutorService)의 작업 큐, 컴퓨터의 버퍼에 사용 Queue 인터페이스를 구현한 대표적인 클래스는 LinkedList LinkedList는 List 인터페이스를 구현했기 때문에 List 컬렉션이기도 함 import java.util.LinkedList; import java.util.Queue; // E: 리턴타입 Queue queue = new LinkedList(); 메소드 설명 정상 실행 실패 add 객체를 추가 true 반환 예외 발생 offer 객체를 추가 true 반환 flase 반환 remove Dequeue 맨 앞의 객..

Java & Spring 2023.10.09

[Java] String.format(%s, %d, %f, %t, %c)

* _ : 공백 %s 포맷 설명 예시 %s 문자열을 그대로 채움 예시입니다 %7s 7만큼의 공간에 문자열을 채우고 오른쪽 정렬 __예시입니다 %-7s 7만큼의 공간에 문자열을 채우고 왼쪽 정렬 예시입니다__ %7.2s 7만큼의 공간에 문자열을 채우고 2만큼 잘라서 왼쪽 정렬 예시_____ %-7.2s 7만큼의 공간에 문자열을 채우고 2만큼만 잘라서 오른쪽 정렬 _____예시 %d 포맷 설명 예시 %d integer 숫자를 그대로 채움 12345 %7d 7만큼의 공간에 숫자를 채우고 오른쪽 정렬 __12345 %-7d 7만큼의 공간에 숫자를 채우고 왼쪽 정렬 12345__ %07d 7만큼의 공간에 숫자를 채우고 왼쪽 공백에 0을 채움 0012345 %,d 1000단위로 ,추가 12,345 %f 포맷 설명 ..

Java & Spring 2023.10.05
728x90