Spring\Java
-
[Java] Deque 덱 / 데크 사용법Spring\Java 2021. 8. 30. 14:05
Deque (Double-ended Queue) : 큐의 양쪽으로 삽입/삭제 가능 - Scroll : 한쪽으로만 입력 가능 - Shelf : 한쪽으로만 출력 가능 1. 선언 Deque dq = new ArrayDeque(); 2. 삽입 dq.addFirst(1); // 앞에 삽입 -> 용량 초과시 예외 발생 dq.offerFirst(1); // 정상 처리 true, 실패 false dq.addLast(1); dq.offerLast(1); dq.add(1); // addLast()와 동일 dq.push(1); // addFirst()와 동일 ------------------------------------------------------- dq.addAll(Collection
-
[Java] StringBuilder 사용법Spring\Java 2021. 8. 24. 14:56
- 자바에서 String + String 연산은 새로운 String을 생성하게 됨 -> 잦은 연산은 성능적으로 X - StringBuilder는 새로운 객체 생성 X, 기존 데이터에 더해짐 -> 속도 굿 - 또한 String은 immutable -> 변경 불가임 1. 선언 StringBuilder sb = new StringBuilder(); 2. 더하기 sb.append("add"); // 젤 뒤에 값 더하기 sb.insert(index, value); // 특정 위치에 더하기 3. 삭제 sb.delete(index, index); // index to index 삭제 4. 출력 System.out.println(sb.toString()); 5. 그 외 sb.indexOf(value); // 값의 인덱..
-
[Java] Queue 큐Spring\Java 2021. 8. 23. 15:04
Queue란? - 데이터를 일시적으로 쌓아두기 위한 자료구조로 스택과는 다르게 FIFO 형태를 가짐 - 컴퓨터 버퍼에서 주로 사용 마구 입력이 되었으나 처리를 하지 못할 때, 버퍼를 만들어 대기 시킴 - Enqueue : 큐 맨 뒤에 데이터 추가 - Dequeue : 큐 맨 앞쪽의 데이터 삭제 1. 선언 - 자바에서 큐는 LinkedList를 사용 -> LinkedList 와 Queue 선언 필요 import java.util.LinkedList; import java.util.Queue; Queue queue = new LinkestList(); Queue queue = new LinkestList(); 2. 값 추가 - add의 경우 성공시 true 반환, 실패시 IllegalStateExceptio..
-
[Java] LinkedList 사용법Spring\Java 2021. 8. 23. 13:18
Iterator iter = list.iterator(); while(iter.hasNext()) { System.out.println(iter.next); } 1. 선언 LinkedList list = new LinkedList(); // 타입 미설정 LinkedList num = new LinkedList(); // int 타입만 사용 가능 -> new LinkedList(); // 타입 파라미터 생략 가능 LinkedList list = new LinkedList(Arrays.asList(1,2)); // 생성시 값 추가 2. 값 추가 list.addFirst(); // 가장 앞에 추가 list.addLast(); // 가장 뒤에 추가 list.add(); 데이터 추가 list.add(1, 10);..
-
인터프리터 언어와 컴파일러 언어의 차이Spring\Java 2021. 7. 28. 20:59
인터프리터 언어 내가 작성한 코드(=원시코드)를 기계어로 변환하는 과정 없이 라인 바이 라인 바로 해석하여 바로 명령어를 실행하는 언어 ex : Python, R, Ruby 인터프리터가 직접 한 줄씩 읽어 따로 기계어로 변환하지 않기 때문에 빌드 타임 X 한 줄씩 읽어서 실행하기 때문에 컴파일 언어에 비해 속도가 느림 컴파일러 언어 원시코드 -> 기계어 -> 기계(ex: jvm)에 넣고 실행 ex : C, C++ 이미 모든 코드가 기계어로 변환 되어 있기 때문에 빠르게 실행 가능 빌드 과정이란 ? 소스코드로 실행파일로 생성하는 과정 고급 언어 -> 저급 언어 JVM : 자바 가상 머신 Java Byte Code 를 OS에 맞게 해석해주는 역할 Java compiler는 .java 파일을 .class 라는..