List 계열 컬렉션- 선형구조로 이루어진 컬렉션 구조(순서에 의미가 있음)- ArrayList- LinkedList- Vector ArrayList https://sas-study.tistory.com/73 = 0; i--) {aList.remove(i);}end = System.currentTimeMillis();System.out.printf("작업 소요시간 : %ds\n", end - begin);begin = System.currentTimeMillis();// 직업for (int i = lList.size()-1; i >= 0; i--) {lList.remove(i);}end = System.currentTimeMillis();System.out.printf("작업 소요시간 : %ds\n", ..
서브쿼리, Sub Query- 하위쿼리, 부분쿼리- SQL 안에 또 다른 SQL이 들어있는 형태- 서브쿼리를 사용할 수 있는 위치(어디든지 데이터가 필요한 곳이면 다 사용 가능) a. where절 : 서브쿼리의 결과셋을 조건으로 사용한다. b. 컬럼리스트 : 서브쿼리의 결과셋을 하나의 컬럼값으로 사용한다. c. from절 : 서브쿼리의 결과셋을 하나의 테이블로 이용. (=뷰 , 인라인뷰 d. order by절 e. group by절 목적 : tblhousekeeping 테이블에서 가장 비싼 아이템을 가져오려고한다. select item from tblhousekeeping where max(price) = price; 이게 안됨 서브쿼리사용서브쿼리가 먼저 질의한 후에 반환되는 결과값을 원래 쿼리에 사용하..
group by 절 - 레코드들을 특정 컬럼 값에 맞춰서 그룹을 나누는 작업.- 편가르기 그룹을 왜묶을까? 1. 그룹을 나눠서 구분해서 관리하려고? 따로 정렬을 하기 위해서? : X2. 나눠놓은 그룹들을 완전분리 -> 별도의 테이블로 관리하기 위해서? : X 3. 각각의 나눠놓은 그룹별로 집계함수를 적용하기 위해서 : O(group by 절의 목적) - group by 컬럼명 : 그룹을 나누는데 기준이 되는 컬럼명(1개 or 그이상) - group by 구문- select 컬럼리스트 from 테이블명 [where절] [group by 절] [order by절]- group by 사용시 컬럼리스트에 올수있는 대상 1. 집계함수(주목적) 2. group by의 대상 컬럼 3. 1과 2를 제외하고는 모두 불가..
컬렉션의 종류와 인터페이스이전 컬렉션1. ArrayList : 순차배열2. HashMap : 연관배열3. Stack : 스택배열4. Queue : 큐배열.- 자바는 모든 컬렉션이 특정 인터페이스를 구현한다. 1. Collection 인터페이스 - List 와 Set의 부모 역할 2. List 인터페이스 - 순서가 있는 데이터 집합 - 방번호가 있다. 첨자. 인덱스. -> 방번호를 이용하여 요소 접근. - 데이터 중복을 허용한다. ex) ArrayList , Stack , Queue, LinkedList, Vector 3. Set 인터페이스 - 순서가 없는 데이터 집합 - 방번호가 없다(첨자가 없다.) - 데이터 중복을 허용 안한다.************** - 순서가 중요하지 않은 데이터 집합. ex) ..
Stack, Queue Stack 스택- 자료구조 중 하나- 후입선출- LIFO( Last In First Out ) 0. 객체 생성Stack stack = new Stack(); 1. 요소삽입stack.push("빨강");stack.push("파랑");stack.push("노랑"); 2. 요소 제거- 값 반환과 동시에 요소를 제거- 반환은 가장 나중에 넣은 "노랑" 부터...System.out.println(stack.pop()); //노랑System.out.println(stack.size()); // 2System.out.println(stack.pop()); // 파랑System.out.println(stack.size()); // 1System.out.println(stack.pop()); //..
ArrayList와 HashMap의 비교 1. ArrayList - 요소에 대한 접근 : index사용 - 요소에 순서가 존재 - 첨자 : 정수사용.(0부터 시작, Zero-based Index) - 스칼라 배열(Scalar Array) (HashMap과의 비교) : 방들을 일괄 접근하기 용이(***)- for문 : 요소간의 구분이 쉽지 않다.(3번째 방? 27번째 방?) 2. HashMap - 요소 접근 -> 키(key)사용 - 키 : 숫자, 문자, 문자열(***이것만쓴다거의***) 등... - 방번호(인덱스) X,- 요소에 순서도 없음. -연관 배열, 사전구조 -Key, Value (ArrayList와의 비교) : 일괄 접근이 불리(거의 사용 안함)- for문과 잘 연동 안함- 요소 하나하나를 직접 ..
컬렉션, Collection - 배열의 업그레이드 버전 - 길이 가변(늘이거나 줄이는게 가능) - 배열을 사용 목적에 따라 사용법이나 구조를 특화시켜서 제공함.(=자료구조) 기존의 순수 배열방식 배열 생성. - 타입명시(int) - 길이 명시([3])int[] nums1 = new int[3];초기화 or 요소접근 -> 인덱스 사용nums1[0]=100;nums1[1]=200;nums1[2]=300;배열의 길이 or 탐색for( int i =0; i
예외, Exception - 컴파일 발견 X 런타임발견 O - 실행중 발생하는 에러 - 개발자가 예측을 할수도 없을수도 있다. -> 예측을 하더라도 발생할 수 있는 에러. - 주로 발생하는 경우 : 프로그램 외부와의 소통을 하는 업무(파일 입출력, DB입출력, 네트워크 입출력 등...) 예외처리, Exception Handling 1. 전통적인 방식. (*조건문*) 2. 특화된 구문. (**try-catch(finally)문**) 전통적인 방식( 하드코딩의 하드코딩의 하드코딩 ) 사용자로부터 숫자1개 입력받기. > 업무진행.int num = 0; // 0이 아닐때만 일을 한다.if (num != 0) { // 업무 코드, *비즈니스코드*System.out.printf("100 / %d = %d\n", n..