2012-11-12 2 views
2

나는 정수 배열의 조합을 만들고 나중에 사용하기 위해 벡터를 저장하기 위해 Vector에 추가하려고합니다. int []를 반복하여 조합 한 다음 요소를 벡터에 추가합니다.Java 벡터 <int[]> int [] 또는 copy?

벡터가 int []에 대한 참조를 추가하기 때문에 끝에 동일한 int []에 대한 많은 참조를 유지합니까? 아니면 벡터에 복사본을 추가합니까?

+1

'int []'의 다른 인스턴스를 만들고 있습니까? 그렇다면 다른'int []'객체에 대한 다중 참조로 끝날 것입니다. 동일한'int []'객체를 수정하고 삽입하는 경우 - 객체와 참조가 하나만 존재합니다. – amit

답변

5

int[]을 포함한 배열은 Java에서 Object입니다. 즉, Vector에는 int[] 요소에 대한 참조가 있습니다.

그러나, 나는 당신이 정말 List의 동기화 된 버전을 필요로하는 경우 당신이 ArrayList 대신 Vector 또는 Collections.synchronizedList을 사용하는 것이 좋습니다.

+0

그래서 ArrayList는 참조 대신 사본을 배열로 저장합니까? – Stefan

+2

완전히 정확하기 때문에 참조 사본입니다. 그것은 어쨌든 다른 객체들처럼 참조를 저장하고 있습니다. –

관련 문제