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