Loading...

자바 자료구조5 -우선순위 큐 사용법-

1. 우선순위 큐 큐가 먼저 들어오는 데이터가 먼저 나가는 선입선출 형식의 자료구조라면, 우선순위 큐는 항상 우선순위가 가장 높은 데이터에만 관심이 있고 이 데이터만 먼저 나갈 수 있는 형태의 자료구조 힙을 이용할때 삽입, 삭제, 탐색시간을 O(logN)으로 맞출 수 있어서 힙으로 보통 구현한다. 자바에서는 PriorityQueue라는 클래스를 사용할 수 있다. import java.util.PriorityQueue; PriorityQueue (name) = new PriorityQueue(); 형태의 선언 필요 자바는 기본적으로 최솟값을 우선적으로 뽑아준다. 2. 핵심 메소드 2-1) add(E) 우선순위 큐에 데이터 E를 추가 2-2) size() 우선순위 큐에 들어있는 데이터 수를 반환 2-3) i..

2023. 2. 12. 02:20

자바 기본 배우기 -메소드와 JVM의 메모리 구조-

1. 메소드(method) 객체가 할 수 있는 행동을 정의 어떤 작업을 수행하는 명령문의 집합에 이름을 붙여 놓은 것 이름은 소문자로 시작하고 camelCase로 작성하는 것이 관례 접근제한자에서 default의 경우 접근제한자로 아무것도 안쓰면 default return이 없으면 반환값 부분에는 void라고 써야함 매개변수들은 없어도 된다 1-1) 왜 작성하나? 반복적인 코드 사용을 줄인다, 코드 중복을 제거, 코드 양을 줄인다 유지보수가 좋다 1-2) 메소드 선언 {}안에 메소드가 해야할 일을 정의함 1-3) 호출 방법 (인스턴스이름).(메소드 이름)으로 접근 메소드가 static으로 선언되어 있다면, (클래스 이름).(메소드 이름)으로 접근 가능하다 public class Person { publi..

2023. 2. 4. 18:48

자바 기본 배우기 -배열의 기초-

1. 배열은 왜 필요한가? 어떤 집단의 학생 이름을 String 타입으로 다음과 같이 저장했다 String name1 = "태연" String name2 = "아이유" String name3 = "수지" String name4 = "윤아" String name5 = "신세경" String name6 = "카리나" 근데 이 집단에 학생이 더 들어온다면.. name7,name8,.... 계속 이렇게 저장해야하나? 변수의 수도 계속 증가하고, 코드 길이도 계속 증가하게 될것 이름이 name1,name2,... 비슷해보여도 전혀 다르기 때문에 반복문으로 확인하기도 어렵고 갑자기 어느날에는 학생이 10명이었다가, 다음날에는 학생이 100명이 었다가.. 다음날에는 학생이 50명이었다가.. 동적으로 변한다면? 그때마..