본문 바로가기
카테고리 없음

Vector 클래스와 메소드

by 설총이 2018. 6. 1.

ccccccc

1
2
3
4
5
6
7
public static void main(String[] args) {
        Vector<Double> v = new Vector<Double>(2,5);
        
        v.add(100.3);//index번호 : 0
        v.add(3.14);// 1
        v.addElement(1000.);// 2
 
cs


Vector의 객체를 생성하는데, 

Generic < > :: 컬렉션에 특정 타입만을 지정하겠다는 의미

지정된 타입이 아니면 저장이 불가능하게 할 수 있다.



Vector<Double> v = new Vector<Double>(2,5);

//변수가 없을때 기본적으로 10개짜리 배열을가진 공간이 생긴다.
//변수가 있다면 (2,5)일때,
2는 두개의 capacity의 공간이생기고
5는 2개보다 더 많은 데이터(size)를 넣을때, 공간(capacity)이 5개씩 늘어난다는 의미이다.


v.add(3.14)까지 넣었을때에는 capcity 값이 2 / size 값이 2였는데

v.addElement(100.0)을 넣는 순간. 본래 가지고있던 공간 2를 넘어서기때문에

5개의 공간이 더 늘어나고, size는 3이된다.


------------------------------------------------------------------------------------------------------------------------------



1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
        Vector<Double> v = new Vector<Double>(2,5);
        
        v.add(100.3);//0
        v.add(3.14);//1
        v.addElement(1000.);//2
        
        double search = 1000.;
        int index = v.indexOf(search);
        if(index != -1)
            System.out.println("검색요소 "+search+"의 위치 : "+index);
        else
            System.out.println("검색요소 "+search+"가 없습니다.");
 
cs


intdoxOf() :: ()안에 들어가는 데이터 값을 몇번인덱스에있는지 찾아주는 메소드

-1은 안에 데이터가 없을때 출력되는 값이다.



----------------------------------------------------------------------------------------------------------------------


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
        Vector<Double> v = new Vector<Double>(2,5);
        
        v.add(100.3);//capacity = 2 / size = 1
        v.add(3.14);//capacity = 2 / size = 2
        v.addElement(1000.);//capacity = 7 / size = 3
        
        double del = 3.14;
        if(v.contains(del)) { // v.contain(del) del 값이 v에 있다면 그 값을 돌려준다.
            v.remove(del); //v.remove(del) del값이 v에 있다면 del을 제거한다
            System.out.println(del + "삭제 완료!");
        } // capacity = 5 / size = 2
        
        v.trimToSize();//용량을 현재 size크기로 설정 capacity = 2 / size = 2

cs



contain() :: () 데이터 값이 안에 있는지 확인해주는 메소드

ramove() :: () 데이터를 제거해주는 메소드


위에 데이터를 제거하면 capacity값이 7인데 size(데이터 갯수) 는 2가 된다.

불필요한 공간이 있기때문에 이를 제거해주는 메소드


v.trimToSize(); // 용량을 현재 size크기로 설정해주면서 capacity 값을 가지고있는 데이터 2개가 있는 size과 같아지게만든다.


--------------------------------------------------------------------------------------------------------------------------------------


1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
        Vector<Double> v = new Vector<Double>(2,5);
        
        v.add(100.3);//capacity : 2 / size : 1
        v.add(3.14);//capacity : 2 / size : 2
        v.addElement(1000.);//capacity : 7 / size : 3
        
        int size = v.size(); // 공간이 7개나되니까 사이즈의 갯수만 가져와서 size에 넣는다.
        Double[] data = new Double[size];
        v.copyInto(data); // 
        
        
cs



copyInto(data); :: 벡터의 데이터값을 배열로 복사한다.