BackEnd129 [오류] Build Path 2021. 7. 20. [Java] 예외 Exception 예외 Exception 예외란 실행시에 발생할 수 있는 모든 에러상황들을 말한다. 예외는 객체이기 때문에 클래스로 정의되어 있으며, 예외는 '던진다' 라고 표현한다. 자바는 예외를 목적에 따라서 처리(핸들링)하도록 설계되어있다. 즉, 예외가 발생한다고 해서 바로 프로그램을 비정상 종료시킬 수도 있고, 예외처리를 통해 프로그램을 종료하지 않고 정상실행상태가 유지되도록 할 수 있다. 특정 API는 컴파일시 예외를 처리하지 않으면 컴파일 되지 않는 예외들도 있다. 자바에서 예외가 발생되는 순서 컴파일 → 실행 → 실행중 예외 발생 → VM이 발생한 예외의 종류 및 내용을 파악한 뒤 예외 객체 생성 → 발생된 코드 밖으로 예외 던지기(throw) → 예외의 콜 스택에 전이 → main메소드 밖까지 던지게 되면 .. 2021. 7. 19. [Java] 2진트리 Binary Tree 2진트리 Binary Tree 이진트리는 여러개의 노드(node)가 트리형태로 연결된 구조 루트(root) 라고 불리는 하나의 노드에서 시작해 각 노드에 최대 2개의 노드를 연결할 수 있는 구조 연결된 두 노드를 부모-자식 관계에 있다고 하며 이에 있는 노드를 부모노드, 아래 노드를 자식노드라고 한다. 하나의 부모노드는 최대 두개의 자식 노드와 연결될 수 있다. 첫번째 저장하는 값은 루트 노드가 되고 두번째 값은 루트 노드에서 값의 크기를 비교하면서 트리를 따라 내려간다. (숫자가 아닌 문자를 저장할 경우 = 문자의 유니코드값을 비교) 작은 값은 왼쪽에, 큰 값은 오른쪽에 저장 이렇게 구성하면 왼쪽 마지막 노드가 제일 작은 값 제일 큰 값이 오른쪽 끝에 위치하게 된다. TreeSet 이진트리를 기반으로 .. 2021. 7. 19. [Java] 스택(Stack), 큐(Queue) 스택 Stack 쌓아 올리는 것 자료를 정해진 방향으로만 쌓을 수 있다. 가장 마지막에 입력된 자료가 가장 먼저 읽힌다. (LIFO) ※ LIFO: Last In First Out, 후입 선출구조 자료 저장: push 자료 읽기: pop 사용 : 브라우저 사용기록, 실행 취소 주요 메소드 push(): 객체 입력 peek(): 스택의 맨 위 객체를 가져온다. 제거 x pop(): 스택의 맨 위 객체를 가져온다. 제거 o Stack st = new Stack(); st.push("1"); st.push("2"); st.push("3"); st.push("4"); st.push("5"); //추출 while (!st.isEmpty()) { String str = st.pop(); System.out.prin.. 2021. 7. 19. [Java] 맵 Map 맵 Map Map은 Key와 value를 가진 집합이며, 중복을 허용하지 않는다.(키는 중복X, 값은 중복O) {key=value, key=value...} 와 같은 형태로 저장 java.util 패키지에 여러 집합들을 사용하기 위한 interface와 class가 정의되어 있다. 선언은 다음과 같이 선언한다. Map 객체명 = new HashMap(); 좌변에는 Map, 우변에는 HashMap으로 선언하는 이유? ※ HashMap HashMap은 Map Interface를 implements한 클래스로 중복을 허용하지 않는다. Map이므로 Key-value의 한 쌍으로 구성된다. Key 또는 value값으로 null을 허용한다. ※ HashTable HashMap과 동일한 내부구조를 가지고 있다. Ha.. 2021. 7. 19. [Java] Hash set Hash set - 순서 X 중복 X HashSet은 객체들을 순서없이 저장하고 동일한 객체는 중복 저장하지 않는다. HashSet이 판단하는 동일 객체란 꼭 같은 인스턴스를 뜻하지 않는다. HashSet은 객체를 저장하기 전에 객체의 hashCode()메소드를 호출해서 해시코드를 얻어내고, 그리고 이미 저장된 객체의 해시코드와 비교한다. 만약 동일한 해시코드가 나온다면 equals() 메소드로 두 객체를 비교해서 true가 나온다면 동일한 객체로 판단하고 중복 저장을 하지 않는다. 이런 순서로 동일 객체인지 확인하기 때문에 서로 다른 String 객체인 경우에도 같은 문자열을 갖고 있을 때 중복으로 취급될 수 있다. 문자열을 HashSet에 저장하는 경우, 같은 문자열을 갖는 String 객체는 동등한.. 2021. 7. 19. [Java] VirtualBox 설치 Oracle VM Virtual Box 설치 Downloads – Oracle VM VirtualBox Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to the terms and conditions of the respective license. If you're looking for the latest VirtualBox 6.0 packages, see Virt www.virtualbox.org 위 링크에 들어가서, 아래와 같은 항목을 찾아 'windows hosts'를 클릭하여 다운받는다. 그 외 설정은 건.. 2021. 7. 19. [Java] Linked List Linked List Linked List 값 추가하기/삭제하기 LinkedList ll = new LinkedList(); ll.addFirst("A"); ll.addFirst("B"); ll.addFirst("C"); ll.addFirst("D"); System.out.println(ll);//[D, C, B, A] ll.removeLast(); System.out.println(ll);//[D, C, B] ArrayList와 LinkedList 속도 비교 구분 순차적 추가/삭제 중간 추가/삭제 검색 ArrayList 빠름 느림 빠름 LinkedList 느림 빠름 느림 EX01. ArrayList와 LinkedList 중간 추가/삭제 속도비교 List test1 = new ArrayList(); Li.. 2021. 7. 18. [Java] ArrayList ArrayList ArrayList는 List 인터페이스의 구현체이다. 객체가 인덱스로 관리되므로 순서가 있고, 중복을 허용하는 점에서 Array와 유사한 점이 있지만, Array는 크기가 고정되어 크기 변경이 불가한 반면에, ArrayList는 크기 변경이 가능하다는 면에서 가장 큰 차이점이 있다. ArrayList는 저장 용량을 초과한 객체가 들어오면 자동으로 저장용량을 늘린다. ArrayList 선언하기 ArrayList 객체명 = new ArrayList(); ArrayList al = new ArrayList(); ArrayList 객체명 = new ArrayList(다른 ArrayList) public class List03 { public static void main(String[] arg.. 2021. 7. 15. [Java] 제네릭 Generic https://st-lab.tistory.com/153 2021. 7. 14. [Java] 컬렉션 Collection 컬렉션 Collection 컬렉션이란 같은 타입의 참조값을 여러개 저장하기 위한 데이터의 집합, 그룹을 의미한다. JCF(Java Collections Framework)는 이러한 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 자바 컬렉션 프레임워크(JCF)의 상속 구조 1. Set 인터페이스 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. HashSet - 가장빠른 임의 접근 속도 - 순서를 예측할 수 없음 TreeSet - 정렬방법을 지정할 수 있음 2. List 인터페이스 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. LinkedList - 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유.. 2021. 7. 14. [IT상식] 유닉스 시간은 왜 1970년 1월 1일 기준일까? 유닉스 시간이 1970년 1월 1일이 기준이 된 이유는 유닉스의 탄생일이라고 알고 있었는데, 사실은 허무하게도 '단순히 당분간 사용하기에 편리할 것 같아서'였다고 한다. 😅 2001년 9월 8일에 쓰여진 UNIX TICK TOCKS TO A BILLION 이라는 기사를 보면 알 수 있다. 기사 링크 - UNIX TICK TOCKS TO A BILLION - https://www.wired.com/2001/09/unix-tick-tocks-to-a-billion/ Unix Tick Tocks to a Billion In the wee hours Sunday morning, Greenwich Mean Time, the Unix operating system will have counted its billio.. 2021. 7. 14. 이전 1 ··· 5 6 7 8 9 10 11 다음