哪些集合类在 Java 中是线程安全的?
线程安全类是保证类内部状态以及从方法返回的值在从多个线程并发调用时是正确的类。在 Java 中线程安全的集合类是 Stack、Vector、Properties、Hashtable 等。
堆栈
Java 中的 Stack 类实现了基于 LIFO 原则的堆栈数据结构。因此,Stack 类可以支持很多操作,例如 push、pop、peek、search、empty 等。
示例
import java.util.*;
public class StackTest {
public static void main (String[] args) {
Stack<Integer> stack = new Stack<Integer>();
stack.push(5);
stack.push(7);
stack.push(9);
Integer num1 = (Integer)stack.pop();
System.out.println("The element popped is: " + num1);
Integer num2 = (Integer)stack.peek();
System.out.println("The element on stack top is: " + num2);
}
}
输出
The element popped is: 9 The element on stack top is: 7
向量
Java 中的 Vector 类实现了随着需要而增加的对象数组。Vector 类可以支持 add()、remove()、get()、elementAt()、size() 等方法。
示例
import java.util.*;
public class VectorTest {
public static void main(String[] arg) {
Vector vector = new Vector();
vector.add(9);
vector.add(3);
vector.add("ABC");
vector.add(1);
vector.add("DEF");
System.out.println("The vector is: " + vector);
vector.remove(1);
System.out.println("The vector after an element is removed is: " + vector);
}
}
输出
The vector is: [9, 3, ABC, 1, DEF] The vector after an element is removed is: [9, ABC, 1, DEF]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP