Ⅵ. Stack 1. Stack(스텍) - 일직선으로 되어 있는 자료구조로 First In Last Out 를 지님 2. Stack의 특징 - 최신 자바에서 Stack 클래스가 사장되었음(사라짐) - 대신, 그것을 대체하는 무언가를 사용 - 대체 클래스는 바로, Deque(덱) ※ Deque : 양쪽 입구가 뚫려있어 입구를 앞, 뒤로 가능 (입구 한 곳을 막아 Stack처럼 사용) 3. Deque의 기능 - offerFirst( ) : 앞 쪽을 입구로 사용하여 데이터를 삽입 - offerLast( ) : 뒷 쪽을 입구로 사용하여 데이터를 삽입 - peekFirst( ) : 맨 앞을 출력 - peekLast( ) : 맨 뒤를 출력 // Example package sample; import java.uti..
Ⅴ. Queue 1. Queue(큐) - 일자로 된 자료구조로, 선입선출 구조(FIFO : First In First Out)를 지님 2. Queue의 특징 - 먼저 들어간 것이 반드시 먼저 나옴 - LinkedList 클래스는 Queue를 다중상속함 ※ LinkedList는 Queue로 참조하면 Queue의 기능을, List로 참조하면 List의 기능을 가짐 - 인덱스가 없음 3. Queue의 기능 - offer( ) : 데이터를 삽입 - 선입선출 관련 2 개의 메소드 : peek & poll - peek( ) : 당장 꺼낼 수 있는 것을 확인 - poll( ) : 그 것을 실제로 꺼냄 // Example1 package sample; import java.util.*; // Queue public c..
Ⅳ. Map 1. Map(맵) - 두 개의 구성 요소를 지닌 데이터를 저장 및 관리 → Key, Value 2. Map의 특징 - 순서가 없음 (대신, Key가 존재) - Key는 중복저장 불가, Value는 중복 가능 3. Map의 종류 - HashMap : 해시 알고리즘으로 키의 중복을 검사하는 Map - TreeMap : HashMap에 정렬 기능이 추가된 형태의 Map 4. HashMap의 기능 - put( ) 메소드 : 키와 값을 추가 - get( ) 메소드 : HashMap을 읽음 - keySet을 이용해 순차적인 접근도 가능 ※ keySet : Key만 모여있는 Set // Example package day15; // HashMap import java.util.*; public class..
Ⅲ. Set 1. Set (셋) - 수학에서의 집합과 동일한 구조를 지닌 자료구조 2. Set의 특징 - 요소의 순서를 지정하지 않고 관리 - 같은 요소가 두 번 이상 저장될 수 없음. 즉, 중복을 허용하지 않음 3. Set의 종류 - HashSet(해시셋) : 해쉬코드를 이용해 중복을 예방하는 내부 로직을 가진 Set - TreeSet(트리셋) : 같은 Set이지만, 정렬 기능이 추가된 것 (오름,내림차순 같은 정렬) ※ 정렬(Sorting) : 일정한 규칙에 따라 나열한 것 (오름차순, 내림차순, ...) 4. HashSet의 기능 - add( ) 메소드 : 요소 추가 ※ Set은 순서가 없기 때문에 출력 시, for-each문을 사용 // Example package sample; import ja..
Ⅱ. List 1. List(리스트) - 순차적으로 데이터를 저장 및 관리하는 자료구조 - 배열과의 차이점 : 크기를 미리 정하지 않고 필요할 때마다 조절가능 (저장공간크기 동적변환) 2. 자바 List의 2가지 유형 - ArrayList - LinkedList ※ 둘다 List이고 사용법이 같음 (그러나 내부적으로 데이터를 생성하는 방식이 다름) 3. List의 기능 - add메소드 : List에 요소를 추가 - size( )메소드 : List의 길이 정보 - remove(n) 메소드 : n번 요소를 삭제 (칸의 크기도 바뀜) // Example package sample; import java.util.*; // 컬렉션프레임워크일 경우, 추가 // List public class Main { publ..
Ⅰ. 컬렉션 프레임워크 (Collection Framework) 1. 컬렉션 프레임워크 (Collection Framework) - 컬렉션(Collection) - 데이터를 수집 - 동일한 타입을 묶어서 관리하는 자료구조 - 저장 공간의 크기(Capacity)를 동적으로 관리 - 프레임워크(Framework) - 기능을 제공하는 틀 - 클래스와 인터페이스의 모임 (라이브러리) - 클래스의 정의에 설계의 원칙 또는 구조가 존재 - 컬렉션 프레임워크 - 데이터를 수집하여 관리하는 기능을 제공하는 틀 (클래스 or 인터페이스) - 이는 제네릭기반임 ※ 자료구조(Data Structure) : 데이터를 효율적으로 저장 및 관리할 수 있는 소프트웨어적 구조 - 자료구조의 대표적인 예 : 배열 - 배열의 장점 : ..