首页 > 文章列表 > 在Java中,哪些集合类是线程安全的?

在Java中,哪些集合类是线程安全的?

java 线程安全 集合类
326 2023-08-19

一个线程安全的类是指在多个线程同时调用时,保证类的内部状态以及方法返回的值都是正确的。在Java中,一些线程安全的集合类有StackVectorPropertiesHashtable等。

Stack

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]