Java 프로그래밍에서의 vector 클래스 학습 노트
벡터 클래스의 대상을 만들면 다른 클래스의 대상을 임의로 삽입할 수 있습니다. 즉, 유형을 고려하지 않고 미리 선택한 벡터 용량을 필요로 하지 않으며 쉽게 찾을 수 있습니다.미리 모르거나 수조의 크기를 미리 정의하지 않으려면 자주 검색, 삽입, 삭제 작업을 해야 한다.벡터 클래스 사용을 고려할 수 있습니다.
Vector 클래스는 동적 배열을 구현합니다.ArrayList와 비슷하지만 두 가지는 다릅니다.
1. 첫 번째 구조 방법은 기본 벡터를 만듭니다. 기본 크기는 10입니다.
Vector()
2. 두 번째 구조 방법은 지정된 크기의 벡터를 생성합니다.
Vector(int size)
3. 세 번째 구조 방법은 지정된 크기의 벡터를 만들고 증가량은 incr로 지정합니다.증량은 벡터가 매번 증가하는 원소의 수를 나타낸다.
Vector(int size,int incr)
4. 네 번째 구조 방법은 집합 c 요소를 포함하는 벡터를 만듭니다.
Vector(Collection c)
첫 번째 방법을 사용하면 두 가지 방법으로 벡터를 자동으로 관리할 수 있습니다.시스템은 매개 변수에 따라 initialcapacity에서 벡터 대상의 용량(즉 벡터 대상이 저장할 수 있는 데이터의 크기)을 설정합니다. 실제로 저장된 데이터의 개수가 용량을 초과할 때.시스템은 벡터 대상의 저장 용량을 확충할 것이다.
매개 변수capacityincrement는 매번 확장된 확장 값을 지정합니다.capacityincrement가 0일 때 두 배로 확장하지 않고 이 기능을 이용하여 저장을 최적화할 수 있습니다.Vector 클래스에서는 사용자가 편리하게 사용할 수 있는 다양한 방법을 제공합니다.
삽입 기능:
(1)public final synchronized void adddElement(Object obj)
obj를 벡터의 끝에 삽입합니다.obj는 모든 종류의 대상이 될 수 있습니다.같은 벡터 대상에 대해서도 다른 종류의 대상을 삽입할 수 있다.그러나 삽입된 것은 수치가 아니라 대상이어야 하기 때문에 수치를 삽입할 때 수조를 상응하는 대상으로 바꾸는 것을 주의해야 한다.
예를 들어 정수 1을 삽입할 때 v1을 직접 호출하지 마십시오.addElement(1), 올바른 방법:
Vector v1 = new Vector();
Integer integer1 = new Integer(1);
v1.addElement(integer1);
(2)public final synchronized void setElementAt(Object obj,int index) index에 있는 대상을obj로 설정하면 원래 대상은 덮어씁니다.
(3)public final synchronized void insertElement(Object obj,int index)
index가 지정한 위치에 obj를 삽입하면 원래의 대상과 이후의 대상이 순서대로 뒤로 순연됩니다.
제거 기능:
(1)public final synchronized void removeElement(Object obj)
벡터에서 obj를 삭제하고 여러 개가 존재하면 벡터 헤더부터 시도하여 찾은 첫 번째 obj와 같은 벡터 구성원을 삭제합니다.
(2)public final synchronized void removeAllElement();
벡터 모든 객체 삭제하기
(3)public fianl synchronized void removeElementAt(int index)
index가 가리키는 곳의 대상을 삭제합니다
검색 기능:
(1)public final int indexOf(Object obj)
벡터 헤더에서obj를 검색하고 첫 번째 obj에 대응하는 아래 표식을 되돌려줍니다. 이 obj가 존재하지 않으면 -1로 되돌려줍니다.
(2)public final synchronized int indexOf(Object obj,int index)
index가 표시한 아래 표시된 곳에서obj를 검색합니다.
(3)public final int lastindexOf(Object obj)
벡터 끝부분부터 obj를 역방향으로 검색합니다.
(4)public final synchornized int lastIndex(Object obj,int index)
index가 표시하는 아래 표에서 끝에서 끝까지 obj를 역방향으로 검색합니다.
(5)public final synchornized firstElement()
벡터 대상의 첫 obj 가져오기
(6)public final synchornized Object lastElement()
벡터 대상의 마지막 obj 가져오기
인스턴스
다음 절차에서는 이 컬렉션이 지원하는 몇 가지 방법을 설명합니다.
import java.util.*;
public class VectorDemo {
public static void main(String args[]) {
// initial size is 3, increment is 2
Vector v = new Vector(3, 2);
System.out.println("Initial size: " + v.size());
System.out.println("Initial capacity: " +
v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println("Capacity after four additions: " +
v.capacity());
v.addElement(new Double(5.45));
System.out.println("Current capacity: " +
v.capacity());
v.addElement(new Double(6.08));
v.addElement(new Integer(7));
System.out.println("Current capacity: " +
v.capacity());
v.addElement(new Float(9.4));
v.addElement(new Integer(10));
System.out.println("Current capacity: " +
v.capacity());
v.addElement(new Integer(11));
v.addElement(new Integer(12));
System.out.println("First element: " +
(Integer)v.firstElement());
System.out.println("Last element: " +
(Integer)v.lastElement());
if(v.contains(new Integer(3)))
System.out.println("Vector contains 3.");
// enumerate the elements in the vector.
Enumeration vEnum = v.elements();
System.out.println("
Elements in vector:");
while(vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + " ");
System.out.println();
}
}
위의 인스턴스 컴파일 실행 결과는 다음과 같습니다.
Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.
Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.