java.util.vector는 동적 배열과 같은 함수를 구현하기위한 벡터 클래스 (벡터)를 제공합니다. Java 언어에는 포인터의 개념은 없지만 포인터를 올바르게 사용하면 프로그램의 품질을 크게 향상시킬 수 있습니다. 예를 들어, C 및 C ++의 소위 "동적 배열"은 일반적으로 포인터에 의해 구현됩니다. 이 단점을 보충하기 위해 Java는 프로그래머가 쉽게 사용할 수있는 풍부한 클래스 라이브러리를 제공하며 벡터 클래스는 그 중 하나입니다. 실제로 배열을 사용하는 유연성은 벡터 클래스의 기능을 완성 할 수 있지만 벡터 클래스에서 제공되는 많은 방법은 사용자의 사용을 크게 촉진합니다.
벡터 클래스의 객체를 작성한 후에는 다른 클래스의 객체를 마음대로 삽입 할 수 있습니다. 즉, 사전 선택된 벡터의 유형 또는 용량을 고려할 필요가 없으며 쉽게 검색 할 수 있습니다. 사전 정의 된 배열 크기를 모르거나 꺼려하지 않는 상황에서는 작업을 자주 검색, 삽입 및 삭제해야합니다. 벡터 클래스 사용을 고려할 수 있습니다.
벡터 클래스는 동적 배열을 구현합니다. ArrayList와 유사하지만 두 가지는 다릅니다.
벡터 클래스는 4 개의 시공 방법을 지원합니다.
1. 첫 번째 생성자는 기본 크기가 10 인 기본 벡터를 만듭니다.
벡터()
2. 두 번째 구성 방법은 지정된 크기의 벡터를 만듭니다.
벡터 (int size)
3. 세 번째 구성 방법은 지정된 크기의 벡터를 생성하고 증분은 ext로 지정됩니다. 증분은 벡터가 매번 증가하는 요소의 수를 나타냅니다.
벡터 (int size, int incr)
4. 네 번째 생성자는 세트 C 요소를 포함하는 벡터를 만듭니다.
벡터 (수집 c)
이 시스템은 후자의 두 가지 방법을 사용하는 경우 첫 번째 방법을 사용하여 벡터를 자동으로 관리합니다. 이 시스템은 매개 변수에 따라 벡터 객체 (즉, 벡터 객체가 저장할 수있는 데이터의 크기)의 용량을 설정하고 실제로 저장된 데이터 수가 용량을 초과 할 때. 시스템은 벡터 객체의 저장 용량을 확장합니다.
매개 변수 용량 인 크레멘트는 각 확장에 대한 확장 값을 제공합니다. 용량이 0 인 경우 확장은 두 배가되지 않습니다. 이 기능을 사용하여 스토리지를 최적화 할 수 있습니다. 사용자의 사용을 용이하게하기 위해 벡터 클래스에 다양한 방법이 제공됩니다.
기능 삽입 :
(1) 공개 최종 동기화 된 void AddDelement (Object OBJ)
벡터의 꼬리에 obj를 삽입하십시오. OBJ는 모든 유형의 객체 일 수 있습니다. 동일한 벡터 객체의 경우 다른 유형의 객체를 삽입 할 수 있습니다. 그러나 삽입물은 숫자 값이 아닌 객체 여야하므로 숫자 값을 삽입 할 때는 배열을 해당 객체로 변환하는 데주의를 기울여야합니다.
예를 들어, 정수 1을 삽입 할 때는 v1.addelement (1)를 호출하지 마십시오. 올바른 방법은 다음과 같습니다.
벡터 v1 = 새로운 벡터 (); 정수 정수 1 = 새로운 정수 (1); v1.addlement (integer1);
(2) 공개 최종 동기화 된 void setElementat (Object OBJ, Int Index)
index에서 객체를 OBJ로 설정하면 원래 객체를 덮어 씁니다.
(3) 공개 최종 동기화 된 void insertelement (Object OBJ, Int Index)
인덱스에 지정된 위치에 OBJ를 삽입하면 원래 객체와 후속 객체는 차례로 연기됩니다.
함수 삭제 :
(1) 공개 최종 동기화 void removeelement (Object OBJ)
벡터에서 OBJ를 삭제하십시오. 여러 존재가있는 경우 벡터 헤더로 시작하여 OBJ와 동일한 첫 번째 벡터 멤버를 삭제하십시오.
(2) 공개 최종 동기화 된 void removedAllElement ();
벡터의 모든 객체를 삭제하십시오
(3) public fianl synchronized void remodementat (int index)
인덱스가 참조하는 객체를 삭제하십시오
쿼리 검색 기능 :
(1) 공개 최종 int indexof (Object OBJ)
벡터 헤더에서 OBJ를 검색하고 첫 번째 OBJ에 해당하는 첨자를 반환하십시오. 이 OBJ가 존재하지 않으면 -1을 반환하십시오.
(2) 공개 최종 동기화 된 intindexof (Object OBJ, Int Index)
인덱스로 표시된 색인에서 OBJ를 검색하십시오.
(3) 공개 최종 INT LastIndexof (Object OBJ)
벡터의 꼬리에서 OBJ에 대한 역 검색을 시작합니다.
(4) 공개 최종 Synchornized Int LastIndex (Object OBJ, Int Index)
인덱스로 표시된 첨자에서 끝에서 헤드로의 반전 OBJ를 검색하십시오.
(5) 공개 최종 Synchornized FirstElement ()
벡터 객체에서 첫 번째 OBJ를 가져옵니다
(6) 공개 최종 동기화 된 대상 마지막 선거 ()
벡터 객체의 마지막 OBJ를 얻으십시오
예
다음 프로그램은이 컬렉션에서 지원하는 몇 가지 방법을 설명합니다.
import java.util.*; public class vectordemo {public static void main (String args []) {// 초기 크기는 3, 증분은 2 벡터 v = new 벡터 (3, 2); System.out.println ( "초기 크기 :" + v.size ()); System.out.println ( "초기 용량 :" + v.capacity ()); v.addlement (New Integer (1)); v.addlement (New Integer (2)); v.addlement (New Integer (3)); v.addlement (New Integer (4)); System.out.println ( "4 번의 추가 후 용량 :" + v.capacity ()); v.addlement (새로운 더블 (5.45)); System.out.println ( "현재 용량 :" + v.capacity ()); v.addlement (새로운 더블 (6.08)); v.addelement (New Integer (7)); System.out.println ( "현재 용량 :" + v.capacity ()); v.addelement (New Float (9.4)); v.addlement (New Integer (10)); System.out.println ( "현재 용량 :" + v.capacity ()); v.addlement (New Integer (11)); v.addlement (New Integer (12)); System.out.println ( "첫 번째 요소 :" + (정수) v.firsteLement ()); System.out.println ( "마지막 요소 :" + (정수) v.lasteLement ()); if (v.contains (new Integer (3)) system.out.println ( "벡터는 3."); // 벡터의 요소를 열거합니다. 열거 된 금성 = V.Elements (); System.out.println ( "벡터의/nelements :"); while (Venum.hasmoreElements ()) system.out.print (Venum.nextElement () + ""); System.out.println (); }}위의 예제 편집 및 작동 결과는 다음과 같습니다.
초기 크기 : 0initial 용량 : 3 4 개 후에 3 가지 추가 기능 : 5 커패런트 용량 : 5 커런트 용량 : 7 커스트 용량 : 9first 요소 : 1 Last 요소 : 12 벡터는 벡터의 3. 요소를 포함합니다 : 1 2 3 4 5.45 6.08 7 9.4 10 11 12.