본문 바로가기

IT 서비스 바라보기/Programming

아.. 나쁜 Vector ...



오늘에서야 벡터에 대한 의문이 풀렸다.

여태껏 내가 잘못 알고 있던 지식 하나.


while(rs.next()){
     Servers serv = new Servers();
     serv.setSupportno(rs.getString("supportno"));
     serv.setHostname(rs.getString("hostname"));
     v.addElement(serv);
    }


위와 같이 select 된 항목들을 차례대로 벡터에 넣는 경우
v[0] = supportno 값만 들어있는 serv 객체
v[1] = hostname 값만 들어있는 serv 객체

이렇게 serv 객체가 두개 들어가서 벡터의 Size 가 '2' 가 된다고 생각하고 있었음;
그래서...


for (int i = 0; i < size; i++)  {            
     servField = (coBeans.Servers) v.elementAt(i);
}

라고 해서 객체의 값을 servField 객체에 넣을 경우 따로따로 들어가는 줄 알았다..

헌데 그게 아니더군-_-

만약 select 된 supportno와 hostname 값이 하나씩이라면 객체 하나에 들어가니 벡터크기는 '1'로 땡~
여러개가 select 된다면 그만큼 객체의 갯수가 늘어나니 거기에 맞춰서 벡터의 크기도 늘어남;;

아~ 여태 난 무엇을 공부 한것인가,....


그래도 이제 제대로 이해 했으니..
다시 열심히 해보자!!