프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로
동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름jdk 클래스 : ArrayList, VectorMyArray.javaMyArrayTest.javaMyO
동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음자료가 추가 될때 노드 만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함 (정해진 크기가 없음)연결 리스트의 i 번째 요소를 찾는게 걸리는
맨 마지막 위치(top)에서만 자료를 추가,삭제, 꺼내올 수 있음 ( 중간의 자료를 꺼낼 수 없음)Last In First Out ( 후입선출 ) 구조택배 상자가 쌓여있는 모양가장 최근의 자료를 찾아오거나 게임에서 히스토리를 유지하고 이를 무를때 사용할 수 있음함수의
맨 앞(front) 에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함Fist In First Out (선입선출) 구조 일상 생활에서 일렬로 줄 서 있는 모양순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용 되는 자료구조콜센터에 들어온 문의 전화
클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식컬렉션 프레임워크
T 자료형의 범위를 제한 할 수 있음상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있음상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용가능GenericPrinter 에 material 변수의 자료형을 상속
자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드는자료형 매개 변수가 하나 이상인 경우도 있음제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용 할 수 있음public <자료형 매개 변수> 반환형 메서드 이름(자료형 매개변수.....) {
프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리java.util 패키지에 구현되어 있음개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있음여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요함하나의 객체
Member 클래스를 만들고, 아이디와 이름을 멤버 변수로 선언Member 클래스로 생성된 인스턴스들을 관리하는 클래스를 컬렉션 프레임워크 클래스들을 활용하여 구현한다.멤버를 순차적으로 관리함Member.javaMemberArrayList.javaMemberArrayL
컬렉션 프레임워크에 저장된 요소들을 하나씩 차례로 참조하는것순서가 있는 List인터페이스의 경우는 Iterator를 사용 하지 않고 get(i) 메서드를 활용할 수 있음Set 인터페이스의 경우 get(i) 메서드가 제공되지 않으므로 Iterator를 활용하여 객체를 순
Set 인터페이스를 구현한 클래스와멤버의 중복 여부를 체크하기 위해 인스턴스의 동일성을 확인해야 함동일성 구현을 위해 필요에 따라 equals()와 hashCode()메서드를 재정의함HashSetTest.javaMemberHashSet.javaMemberHashSetT
객체의 정렬에 사용하는 클래스Set 인터페이스를 구현하여 중복을 허용하지 않고, 오름차순이나 내림차순으로 객체를 정렬할 수 있음내부적으로 이진검색트리(binary search tree)로 구현됨이진검색트리에 저장하기 위해 각 객체를 비교해야 함비교 대상이 되는 객체에
Map 인터페이스를 구현한 클래스와가장 많이 사용되는 Map 인터페이스 기반 클래스key - value를 쌍으로 관리하는 메서드를 구현함검색을 위한 자료구조key를 이용하여 값을 저정하고 key를 이용하여 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨key가 되