java
이 튜토리얼에서는 Vector 클래스와 사용 방법에 대해 알아봅니다. 또한 ArrayList 클래스와 어떻게 다른지, 배열 목록을 대신 사용해야 하는 이유에 대해서도 알아보겠습니다.
Vector
클래스는 List
의 구현입니다. ArrayList 클래스와 유사한 크기 조정 가능한 배열을 만들 수 있는 인터페이스입니다.
자바에서는 ArrayList
및 Vector
List
구현 인터페이스와 동일한 기능을 제공합니다. 그러나 그들 사이에는 몇 가지 차이점이 있습니다.
Vector
클래스는 각 개별 작업을 동기화합니다. 이것은 벡터에 대해 어떤 연산을 수행하고자 할 때마다 Vector
클래스는 해당 작업에 자동으로 잠금을 적용합니다.
한 스레드가 벡터에 액세스하고 동시에 다른 스레드가 벡터에 액세스하려고 할 때 ConcurrentModificationException
이라는 예외가 발생하기 때문입니다. 생성됩니다. 따라서 각 작업에 대해 잠금을 계속 사용하면 벡터의 효율성이 떨어집니다.
그러나 배열 목록에서는 메서드가 동기화되지 않습니다. 대신 Collections.synchronizedList()
을 사용합니다. 목록 전체를 동기화하는 메서드입니다.
참고: ArrayList
을 사용하는 것이 좋습니다. Vector
대신 벡터는 스레드로부터 안전하지 않고 덜 효율적이기 때문입니다.
다음은 Java에서 벡터를 만드는 방법입니다.
Vector<Type> vector = new Vector<>();
여기서 유형 연결 목록의 유형을 나타냅니다. 예를 들어,
// create Integer type linked list
Vector<Integer> vector= new Vector<>();
// create String type linked list
Vector<String> vector= new Vector<>();
<시간>
Vector
클래스는 또한 List
의 크기 조정 가능한 배열 구현을 제공합니다. 인터페이스(ArrayList
와 유사) 수업). 일부 Vector
방법은 다음과 같습니다.
add(element)
- 벡터에 요소 추가add(index, element)
- 지정된 위치에 요소 추가addAll(vector)
- 벡터의 모든 요소를 다른 벡터에 추가예를 들어,
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> mammals= new Vector<>();
// Using the add() method
mammals.add("Dog");
mammals.add("Horse");
// Using index number
mammals.add(2, "Cat");
System.out.println("Vector: " + mammals);
// Using addAll()
Vector<String> animals = new Vector<>();
animals.add("Crocodile");
animals.addAll(mammals);
System.out.println("New Vector: " + animals);
}
}
출력
Vector: [Dog, Horse, Cat] New Vector: [Crocodile, Dog, Horse, Cat]<시간>
get(index)
- 인덱스로 지정된 요소를 반환합니다.iterator()
- 벡터 요소에 순차적으로 액세스하기 위해 반복자 개체를 반환합니다.예를 들어,
import java.util.Iterator;
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animals= new Vector<>();
animals.add("Dog");
animals.add("Horse");
animals.add("Cat");
// Using get()
String element = animals.get(2);
System.out.println("Element at index 2: " + element);
// Using iterator()
Iterator<String> iterate = animals.iterator();
System.out.print("Vector: ");
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
출력
Element at index 2: Cat Vector: Dog, Horse, Cat,<시간>
remove(index)
- 지정된 위치에서 요소 제거removeAll()
- 모든 요소 제거clear()
- 모든 요소를 제거합니다. removeAll()
보다 효율적입니다. 예를 들어,
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animals= new Vector<>();
animals.add("Dog");
animals.add("Horse");
animals.add("Cat");
System.out.println("Initial Vector: " + animals);
// Using remove()
String element = animals.remove(1);
System.out.println("Removed Element: " + element);
System.out.println("New Vector: " + animals);
// Using clear()
animals.clear();
System.out.println("Vector after clear(): " + animals);
}
}
출력
Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []<시간>
메소드 | 설명 |
---|---|
set() | 벡터의 요소를 변경합니다. |
size() | 벡터의 크기를 반환 |
toArray() | 벡터를 배열로 변환 |
toString() | 벡터를 문자열로 변환 |
contains() | 지정된 요소에 대한 벡터를 검색하고 부울 결과를 반환합니다. |
java
자바 링크드리스트 이 튜토리얼에서는 예제를 통해 Java LinkedList에 대해 자세히 알아볼 것입니다. LinkedList Java 컬렉션 프레임워크의 클래스는 연결 목록 데이터 구조(이중 연결 목록)의 기능을 제공합니다. 연결 목록의 각 요소를 노드라고 합니다. . 3개의 필드로 구성됩니다. 이전 - 목록에 있는 이전 요소의 주소를 저장합니다. null입니다. 첫 번째 요소 다음 - 목록에서 다음 요소의 주소를 저장합니다. null입니다. 마지막 요소 데이터 - 실제 데이터 저장 자바 LinkedList 생성
자바 ArrayDeque 이 자습서에서는 예제를 통해 ArrayDeque 클래스와 해당 메서드에 대해 알아봅니다. 또한 배열 deque를 사용하여 스택을 구현하는 방법을 배웁니다. 자바에서는 ArrayDeque를 사용할 수 있습니다. 배열을 사용하여 queue 및 deque 데이터 구조를 구현하는 클래스입니다. ArrayDeque에 의해 구현된 인터페이스 ArrayDeque 클래스는 다음 두 인터페이스를 구현합니다. 자바 대기열 인터페이스 자바 데크 인터페이스 ArrayDeque 생성 배열 데크를 생성하려면 jav