벡터(Vector)






nCollection인터페이스 자체를 바로 구현한 클래스


n객체를 삽입하고 순서대로 추출하는 기법 사용


- addElement(Object obj)메서드로 객체 삽입

- elementAt()메서드로 index순으로 데이터 차례로 추출

- 객체를 삽입할 때는 Object형으로 자동 업캐스팅

- 객체를 다시 추출할 때는 원래의 형으로 다운캐스팅 필요


Vector vector = new vector();

vector.addElement(new Integer(100));

vector.addElement(new String(babo));

 

Integer a = (Integer)vector.elementAt(0);

String bob = (String)vector.elementAt(1);

 





n백터는 세 개의 생성자가

- Vector(), Vector(5), Vector(5,5)

- 백터는 기본적으로 10개의 방을 만듬

- 10개가 넘으면 자동으로 20, 40, 80개로 증가

Legacy





n백터(Vector)는 리스트를 구현했고 해쉬테이블(HashTable)Map을 구현


n백터와 해쉬테이블은 예전부터 사용해 오던 자료구조라 레거시(Legacy)라 부른다


n이 둘은 기존 사용 메서드와 JCFList, Map에서 제공하는 모든 메서드를 갖고 있다

Map




nKeyValue를 한 쌍으로 대입

- 사전처럼 단어를 통해 뜻을 찾을 수 있다

- 한 개의 키에 한 개의 값 맵핑


n키는 중복될 수 있자 없다


ncollection 클래스 상속하지 않음

 

 

 

 




import java.util.*;

public class MapIterTest1 {


  public static void main(String[] args) {

  HashMap list=new HashMap();

  list.put("0","lee");//0

  list.clear();//모두 제거

  list.put("1","cho");//1

  list.put("2","kim");//2

  list.put("3","chung");//3

  list.put("4","min");//4

  list.put("3","jung");//3과 동일 에러

  System.out.println(list.size());//size()

  System.out.println(list.containsKey("3"));

  list.remove("2");//2제거 key를 이용

  System.out.println(list.size());


 print(list);//Set 만들기

   }

   public static void print(Map sets){

  Set set=sets.keySet();//key값을 Set으로

  Iterator iter=set.iterator();

  while(iter.hasNext()){

  String key=(String)iter.next();

  System.out.println(key+"  "+sets.get(key));//value

  }

   }//

}

 

 

 

JAVA공부하기 162

배열

 

 

- 객체로서 배열의 의미

: 배열은 객체

: 배열의 이름은 참조값

: 배열의 이름으로 요소제어

 

:배열의 참조의 두 가지 종류

- 할당의 참조

- 매개변수로의 참조

 

: 참조로서 2차원배열

- 2차원 배열은 배열의 배열

- 2차원 배열은 참조의 참조

 

 

배열 참조의 예제

 

- 배열생성 후 할당을 통한 배열참조의 확인

 

 

 

 

JAVA공부하기 161

객체 배열

 

객체로서의 배열

- 클래스 객체를 요소로 배열을 생성

- 생성시 객체변수들의 이름만 생성할 뿐 메모리는 확보하지 않음

- 배열의 생성과 메모리의 할당이 분리되어 있음

 

 

 

String 배열

- String은 클래스이지만 기본데이터타입같이 쓰임

- 생성과 동시에 배열요소에 스트링 할당가능

- 스트링은 기본데이터 타입과 클래스의 중간정도

 

객체배열의 예제

- 클래스로 객체를 만들어 그 객체로 배열을 만드는 예제

 

 

자바공부하기 161

배열의 복사

- clone()을 사용한 배열복사

: 객체를 복사하는 clone()메서드를 사용한 배열 복사

 

 

 

- Clone()메서드로 객체복사 시 주의점

: Cloneable인터페이스 구현 필요

- 배열은 이미 구현되어 쓸 구현 필요없음

 

 

 

자바공부하기160

배열 복사의 의미 및 방법

- 객체는 값의 할당을 원칙으로 함

- 배열은 객체임. 일반적인 방법으로 복사되지 않음.

- 배열 복사의 두가지 방법

: System.arrayCopy()메서드 이용

 

: Object 클래스의 clone()메서드 이용

- 메모리를 복사하여 Object형 객체 리턴

- 원래 타입으로 다운캐스팅 필요 

 

자바공부하기159

 

 

 배열의 생성과 구조

 

- 같은 데이터타입으로 여러 변수 생성

 

 int[] mydream = newint[10]

 

        - 데이터 타입 : int[10]

        - 배열의 이름 : mydream

        - 메모리 : int4byte*10

 

- 배열은 객체이다.

        - java spec에 정의됨

        - Object클래스에 메서드 이용가능

        - 배열의 이름은 참조값

 

 

 

 

 

 

 

배열의 초기화

 

- 배열 선언 후 값의 할당

 

Int[] mydream = newint[4]

Mydream[0] = 100;

Mydream[1] = 200;

Mydream[2] = 300;

Mydream[3] = 400;

 

 

- 배열선언과 동시에 할당

 

Int[] mydream[]  =

newint[] {100,200,300};

 

Int[] mydream1[] =

{100, 200, 300, 400, 500};

 

 

+ Recent posts