java의 Vector 클래스

java Vector 클래스는 ArrayList. 와 유사한 객체 배열을 구현합니다. 벡터 요소는 정수 인덱스를 통해 액세스할 수 있습니다. Vector의 크기는 생성 후 요소 추가 또는 제거의 필요성에 따라 달라집니다.

Vector가 동기화되므로 동시에 여러 작업이 가능하지만 멀티 스레딩을 사용할 때 좋은 성능을 보장하지는 않습니다. 목록을 동기화 할 필요가없는 경우 좋은 성능을 제공하는 ArrayList 를 사용하는 것이 좋습니다.

Vector 는 ArrayList 와 같은 List 인터페이스를 구현하지만 단점은 이러한 요소를 추가, 찾기, 삭제 및 수정하는 작업의 동기화로 인해 언급 한 바와 같이 성능이 저하된다는 것입니다.

Vector 클래스는 4 개의 생성자를 지원합니다.

1)벡터 v = new Vector();
이 생성자는 초기 크기가 10인 빈 벡터를 만듭니다. 10 요소를 초과하면 벡터의 크기가 조정되어 11 번째 요소가 Vector.

2)벡터 v = new Vector(int capabilityInitial);
이 모양은 할당할 요소 수를 지정하는 초기 크기로 벡터를 초기화합니다.
Vector v = new Vector(5);//용량이 5.<인 Vector를 생성합니다./span>

3)Vector v = new Vector(int capabilityInitial, int capacityIncrement)
초기 용량으로 Vector를 생성하고 항목 수가 최대 크기에 도달할 경우 Vector가 용량 크기를 조정할 때 할당될 타일 수를 지정합니다.
벡터 v = new Vector(8);
용량이 8이고 증분 용량이 4인 Vector를 만듭니다. 9 번째 요소를 삽입하면 크기가 12 (8 + 4)이고 16 번째 삽입이 20 (16 + 4)이된다는 것은 무엇을 의미합니까.

4)벡터 v = new Vector(컬렉션 c);
객체 컬렉션(ArrayList, TreeSet, HashMap 등)으로 벡터를 초기화합니다.

Vector의 중요한 메서드

ArrayList 및 기타 객체 컬렉션에서와 같이 Vector는 인터페이스 List  그리고 interface  컬렉션 추가, 삭제, 검색, 수정의 많은 방법을 상속합니다.

항목 추가

추가는 두 가지 방법으로 수행됩니다.  add()addElement()입니다. addElement()을 삽입하면 목록의 크기가 증가합니다.

import java.util.Vector; 

public class addElement{

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
System.out.println(v);
v.addElement(4);
System.out.println(v);
}
}
출력:

[1, 2, 3]
[1, 2, 3, 4]

요소 삭제

< 방법으로 인덱스로 둘 중 하나를 삭제할 수 있습니다. span style="font-family: Courier New, Courier, minivan;" >remove(int index) 자신의 메소드 of Vector removeElementAt(int index). 객체 검색 및 삭제는 가능합니다. >remove(Object o):

import java.util.Vector; 

public class remove{

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println(v);
//index v.remove(2);
System.out.println("인덱스 2에서 요소 삭제: "+v);
//객체로 억제
v.remove(new Integer(1));
System.out.println("정수 1 삭제:"+v);
}
}
출력:

[1, 2, 3, 4]
인덱스 2의 요소 삭제: [1, 2, 4]
delete integer 1:[2, 4]
removeAll(Collection c) - 목록에서 하위 집합을 제거합니다. 목록을 비우려면 removeAll() 모든 요소를 삭제합니다.

elementAt() 및 setElementAt()

get(int i)  또는 elementAt(int i)은 정의된 인덱스 i로 요소를 반환하고 set(개체 o,  int i) 또는 setElementAt(Object obj, int i)은 요소를 객체 obj로 바꿉니다. get()은 Vector가 이동할 때 요소를 뒤집는 데 자주 사용됩니다. 용량은 size().

import java.util.Vector; 

public class Test {

public static void main(String[] args) {
Vector v = new Vector();

v.add(1);
v.add(2);
v.add(3);
v.add(4);

System.out.println("첫 번째 요소: "+v.firstElement());
System.out.println("마지막 요소: "+v.lastElement());

for(int i = 0; i< v.size()를 호출합니다. i++)
System.out.println(v.get(i));

v.setElementAt("둘", 1);
System.out.println(v);
}
}
출력:

첫 번째 요소: 1
마지막 요소: 4
1
2
3
4
[1, 2, 3, 4]

요소 검색

벡터에서 검색하는 것은 쉽기 때문에 indexOf(Object o) - 발견된 첫 번째 항목의 인덱스를 반환합니다. lastIndexOf(Object o) 마지막으로 발견된 항목의 인덱스를 반환합니다.

import java.util.Vector; 

public class Test {

public static void main(String[] args) {
Vector v = new Vector();

v.add("자바");
v.add("c");
v.add("C++");
v.add("자바스크립트");
v.add("자바");

System.out.println("c의 첫 번째 발생: "+v.indexOf("c++"));
System.out.println("자바의 마지막 발생: "+v.lastIndexOf("자바"));
}
}
Output

c의 첫 번째 발생: 2
java의 마지막 발생: 4

기타 방법:

- int Capacity(): 목록의 용량을 반환합니다.
- int setSize(): 목록의 현재 크기를 변경합니다.
- boolean contains(Object o): 벡터에 객체가 포함되어 있는지 확인 o.
- boolean isEmpty(): 비어 있으면 true를 반환합니다.
- Object[] toArray(): 벡터를 객체 배열로 변환했습니다.

note:
size()은 목록의 크기를 반환하고 capacity()은 목록이 수용할 수 있는 용량을 반환합니다. 따라서 벡터 경로는 항상 size() 그렇지 않으면 size.

참조:
openclassroms 벡터 java
javadoc: vector class