해쉬테이블(HashTable) HashTable- HashTable은 Map 인터페이스를 구현- 해쉬테이블은 내부적으로 구현하여 데이터 저장의 역할을 함- 키와 값을 한 쌍으로 대입하므로 키를이용해 값을 찾을 수 있음- 유일한 키 값을 가지고 있음-> 객체를 삽입할때 특별한 키 값 같이 입력-> 갹채를 추출할 때 키 값을 이용하여 추출-> put(Object key, Object value)메서드로 객체 삽입-> get(Object key) 메서드로 키가 맵핑된 값 리턴 프로그래밍 정리/자바 2013.05.30
객체 복사 - Clone 메소드와 Cloneable Interface 똑같은 객체를 2개 만드는 방법은 2가지. 1. 주소복사 2. 값복사. 주소복사로 생성된 객체 2개는 데이터를 공유. 윈도우의 바로가기 개념이라고 생각하면 편함. 값복사로 생성된 객체는 새로생긴 객체의 데이터를 변경하더라도 원본 데이터에 영향이 없음.윈도우의 복사 개념이라고 생각 하면 됨. protected Object clone() throws CloneNotSupportedException clone() 매서드는 Object 클래스에 정의 되어 있으므로. 어떠한 클래스에서도 사용 가능. clone() 매서드는 해당 매소드를 사용한 객체의 내용을 복사한 새로운 클래스를 만들어서 Object형태 로 리턴. 또한 CloneNotSupportedException 예외를 발생 시키므로 try catch문으로 .. 프로그래밍 정리/자바 2013.05.30
Vector Vector(벡터)- Collection 인터페이스 자체를 바로 구현한 클래스- 객체를 삽입하고 순서대로 추출하는 기법 사용-> addElement(Object obj)메서드로 객체 삽입-> elementAt()메서드로 index순으로 데이터 자체를 추출-> 객체를 삽입할 때는 Object형으로 자동 업캐스팅-> 객체를 다시 추출할 때는 원래의 형으로 다운캐스팅 필요 ex)Vector vector = new Vector();vector.addElement(new Integer(100));vector.addElement(new String("babo")); Integer a = (Integer)vector.elementAt(0);String babo = (String)vector.elementAt(1); .. 프로그래밍 정리/자바 2013.05.29
Legacy Legacy- 벡터(Vector)는 리스트를 구현했고 해쉬테이블(HashTable)은 Map을 구현- 벡터와 해쉬테이블은 예전부터 사용해 오던 자료구조라 레거시(Legacy)라 부름.- 이 둘은 기존 메서드와 JCF의 List, Map에서 제공하는 모든 메서드를 갖고 있음. 프로그래밍 정리/자바 2013.05.29
Entry 인터넷에 찾으니 이렇게 나옵니다.======================================백과입구 [入口, entry] IT용어사전여러 개의 요소가 저장된 테이블이나 리스트의 한 요소. 영어entry 들어감, 가입, 표제어, 참가자 ============================================== 요즘은 저런 것도 책에 나오는 군요.세상 많이.... 엔트리는들어가다 입구 이런말입니다그러니까 컴퓨터에서는 엔터에 해당하는 것입니다 프로그래밍 정리/자바 2013.05.29
Map Map- Key와 Value를 한 쌍으로 대입-> 사전처럼 단어를 통해 뜻을 찾을 수 있음.-> 한 개의 키에 한개의 값 맵핑- 키는 중복될 수 없음.- collection 클래스를 상속하지 않음-> int size()=> 사이즈의 값(갯수)-> boolean isEmpty()=> lists.size() == 0와 같음. 인스턴스는 생성되어 있지만(참조주소가 있지만) 리스트안에 아무것도 적재하지 않은 상태-> boolean containsKey(Object Key)=> 특정 키가 들어 있는지 여부를 확인-> boolean containsValue(Object value)=> 특정 값이 들어 있는지 여부를 확인-> Object get(Object key)=> 해당 키의 들어있는 값을 꺼내옴.-> Objec.. 프로그래밍 정리/자바 2013.05.29
Iterator(반복자)와 ListIterator Iteratoa(반복자) 1. 사용 이유- Iterator를 사용함으로써 구현 부분관 분리해서 하나씩 셀 수 있기 때문.Iterator를 활용하면 ArrayList, HashMap과 같은 어떤 컬렉션이라도 동일한 방식으로 그 컬렉션 안에 있는 모든 항목에 접근할 수 있다.컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있다. 2. 사용 방법for문을 사용했을 경우for(int i=0; i 프로그래밍 정리/자바 2013.05.29
List List- 순서가 있고 중복이 되는 List계열- 인터페이스 List를 구현한 클래스- Set이 가지고 있는 메소드에 추가 메소드- boolean addAll(int index, Collection c)=> 특정위치 index에 Collection c를 더함- int indexOf(Object o)=> Collection에서 o가 어느 위치에 있는지 리턴- int lastIndex(Object o)=> Collectiond에서 o가 어느 위치에 있는 뒤에서부터 찾아 리턴- ListIterator listIterator();=> ListIterator 반환- ListIterator listIterator(int indxe)=> ListIterator 반환- List subList(int fromIndex,.. 프로그래밍 정리/자바 2013.05.29
Iterator(반복자) Iterator- JFC의 Set, List 계열에 대입된 모든 것을 얻기 위해- Set, List 계열에 대입된 모든 것을 Iterator로 넘기면 iterator메서드를 사용하여 추출할 수 있음.- Iterator는 인덱스 0번보다 위쪽을 가리킴.- 인덱스의 개수를 모르므로 while를 사용.- hasNext는 1칸 이동하는데 데이터가 있으면 true 없으면 false 반환 프로그래밍 정리/자바 2013.05.29
자료구조(Data Structure)와 자료구조의 기본(Set, List, Map) 자료구조(Data Structure)- 자료를 구조적으로 정리하는 것을 자료구조(Data Structure)fkrh gksek.- 구조적이란 자료를 효율적으로 사용할 수 있게 만드는 것- 모든 사용 데이터를 db에 저장할 수는 없는 일- java.util.* 패키지의 자바 컬렉션 프레임워크(JCF)에서 자료구조 방법 제공- 배열의 정적인 한계를 극복하기 위해서- set계열, list계열, map계열 컬렉션 프레임워크(JCF)- Colletion인터페이스를 구현하는 클래스- 객체를 저장하고 핸들하는 작업을 수행- 동적으로 필요할 때 메모리를 확장할 수 있는 장점- 프로그램 실행시의 소형데이터베이스 가능- 데이터의 수정, 삭제, 검색 삽입의 기능- 대표적으로 Vector와 HashTable이 있음- 컬렉션 .. 프로그래밍 정리/자바 2013.05.27