목록JAVA (6)
우당탕탕 개발자 되기
제어자란? 클래스와 클래스 멤버의 선언 시 사용 부가적인 의미를 부여하는 키워드 접근 제어자 private, public, default, protected 클래스 정의 대상 제어자 public, default public : 위치에 상관없이 어디든 해당 클래스의 인스턴스를 생성 가능 default : 동일 패키지로 묶인 클래스내에서만 인스턴스 생성을 허용 인스턴스 멤버 대상 제어자 public > protected > default > private private 접근 제어자 클래스 멤버는 외부에 공개 되지 않으며, 외부에서는 직접 접근할 수 없다. -> 자바 프로그램은 private 멤버에 직접 접근할 수 없으며, 해당 객체의 public 메소드를 통해서만 접근 할 수 있다. private 멤버는 p..
Comparable - 정렬 수행시 기본적으로 적용되는 정렬 기준으로 메서드를 정의하는 인터페이스 - Integer, Double 클래스: 오름차순 정렬, String 클래스 : 사전순 정렬 - compareTo() 메서드를 작성해서 사용한다 객체 비교 객체 : return 양수 return 값이 0 or 음수일 경우 swap 이 안일어나지만, return 값이 양수 일 경우 swap 이 일어난다 Comparator - 클래스들을 정렬 할 떄 기존 방식과 다르게 정렬 기준을 설정하여 사용하고자 할 때 사용하는 메서드이다. - compare() 메서드를 작성해서 사용한다 o1o2 : return 양수 return 값이 0..
Iterator -Collection FrameWork 의 저장된 요소를 읽어오는 방법을 표준화 하기위한 역할(인터페이스) -List, Set 계열에 구현한다(Map은 없음) -주로 읽기 전용으로 사용 메소드 boolean hasNext() 해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환함. E next() 이터레이션(iteration)의 다음 요소를 반환함. default void remove() 해당 반복자로 반환되는 마지막 요소를 현재 컬렉션에서 제거함. (선택적 기능) ListIterator -Iterator 인터페이스를 상속받아 여러 기능을 추가한 인터페이스 -Iterator 인터페이스는 컬렉션의 요..
DFS 장점 1. 현재 경로상의 노드들만 기억하면 되므로, 저장 공간의 수요가 비교적 적음 2. 목표 노드가 깊은 단계에 있는 경우 해를 빨리 구할 수 있음 3. 구현이 너비 우선 탐색(BFS) 보다 간단함 DFS 단점 1. 단순 검색 속도는 너비 우선 탐색(BFS) 보다 느림 2. 해가 없는 경우에 빠질 가능성이 있음 (사전에 임의의 깊이를 지정한 후 탐색하고, 목표 노드를 발견하지 못할 경우 다음 경로를 탐색하도록 함) 3. 깊이 우선 탐색은 해를 구하면 탐색이 종료되므로, 구한 해가 최단 경로가 된다는 보장이 없음 (목표에 이르는 경로가 다수인 경우 구한 해가 최적이 아닐 수 있음) import java.util.ArrayList; import java.util.Arrays; import java...
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(Gcd(a, b)); System.out.println(Lcd(a, b)); } public static int Gcd(int a, int b) { if (b == 0) return a; else return Gcd(b, a % b); } public static int Lcd(int a, int b) { int g = Gcd(a, b); return g * (a / g) *..
Getter, Setter 메소드 단축키 : alt + shift + s +r 생성자 메소드 : alt + shift + s + o 줄 정렬 : alt + shift + f 1)문자열을 배열로 바꿀때 String b; char[] a; a= b.tocharArray(); 2)문자 배열을 문자열로 바꿀때 Arrays.toString(배열명); -String String str1 ="new String"; String str2 ="new String"; String str3 =new String("new String"); String str4 =new String("new String"); String 인스턴스는 변경 할수 없는 인스턴스이기 때문에 str1은 str2와 같은인스턴스를 참조하고 있는데 이것은 ..