线程安全类是确保类的内部状态以及从方法返回的值在从多个线程并发调用时是正确的类。 Java中线程安全的集合类有Stack、Vector、Properties、Hashtable等。

堆栈(stack)

Java中的Stack类实现了基于后进先出(LIFO)原理的堆栈数据结构。因此,Stack类可以支持许多操作,比如push、pop、peek、search、empty等。

例子import java.util.*;

public class StackTest {

public static void main (String[] args) {

Stack stack = new Stack();

stack.push(5);

stack.push(7);

stack.push(9);

Integer num1 = (Integer)stack.pop();

System.out.println("弹出的元素是: " + num1);

Integer num2 = (Integer)stack.peek();

System.out.println("堆栈顶部的元素是: " + num2);

}

}

输出结果弹出的元素是: 9

堆栈顶部的元素是: 7

向量(vector)

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("向量是: " + vector);

vector.remove(1);

System.out.println("移除元素后的向量为: " + vector);

}

}

输出结果向量是: [9, 3, ABC, 1, DEF]

移除元素后的向量为: [9, ABC, 1, DEF]

java中线程安全的集合_Java中哪些集合类是线程安全的?相关推荐

  1. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  2. java对象是 什么的集合_java持有对象-集合类

    面阿里的时候,面试就让我说一下集合 当时由于条件原因没听清面试官的问题,后来面试后,面试官让问他问题的时候,才说明白是什么 下面就接受一下我了解的集合类 集合类中大致可以分为两个体系 一.collec ...

  3. java中的集合_Java中集合中的基本概念

    集合:保存多个其他对象的对象,不能保存简单类型. Collection框架的结构如下: Collection是最基本的集合接口,一个Collection代表一组object,即Collection的元 ...

  4. java线程池怎么创建_java中的线程池,如何创建?

    Java中的线程池它是线程的容器,或者(换句话说,它是具有执行任务能力的线程的集合). 我们可以使用ThreadPool框架来定位(或实现)线程池. 线程池可以包含多个线程.每当我们执行任何任务时,线 ...

  5. java线程开启不了_Java中多线程启动,为什么调用的是start方法,而不是run方法?...

    前言 大年初二,大家新年快乐,我又开始码字了.写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的ide ...

  6. java 中的集合_JAVA中的集合

    JAVA中集合,是java中的基础概念,今天接着跟讲课准备课件的机会,重新整理一下关于JAVA中的集合的概念. 集合的概念 java中的集合类是用来存放对象的 集合相当于一个容器,里面包容着一组对象- ...

  7. java三大集合_java中三大集合框架

    一.List集合 1.List实现的超级父类接口:Collection 存储一组不唯一(允许重复),有序的对象. 2.了解ArrayList类 A):定义的格式:ArrayList 集合名 =  ne ...

  8. java公平索非公平锁_java中的非公平锁不怕有的线程一直得不到执行吗

    首先来看公平锁和非公平锁,我们默认使用的锁是非公平锁,只有当我们显示设置为公平锁的情况下,才会使用公平锁,下面我们简单看一下公平锁的源码,如果等待队列中没有节点在等待,则占有锁,如果已经存在等待节点, ...

  9. java中线程调度遵循的原则_Java 多线程(三) 线程的生命周期及优先级

    线程的生命周期 线程的生命周期:一个线程从创建到消亡的过程. 如下图,表示线程生命周期中的各个状态: 线程的生命周期可以分为四个状态: 1.创建状态: 当用new操作符创建一个新的线程对象时,该线程处 ...

最新文章

  1. HTTP自定义Header-(SOCKET-TCP)
  2. CV之face_recognition:Py之face_recognition库安装、介绍、使用方法详细攻略
  3. wildfly 21的配置文件和资源管理
  4. Vue项目 开启gzip
  5. DBeaver连接达梦|虚谷|人大金仓等国产数据库
  6. leetcode584. 寻找用户推荐人(SQL)
  7. 简析LIVE555中的延时队列
  8. delphi中griddata控件写入float数值_年中巨献!明道云发布多项重磅功能
  9. [导入]设置wap服务器
  10. 零拷贝的基本原理及使用Java通过零拷贝实现数据传输
  11. 对象数组 —— 学生信息表
  12. 免费 web api 接口大全
  13. fluidsim win7版本_FluidSIM 5|FluidSIM(液压气动仿真软件)下载v5.0中文免费版 附安装教程 - 欧普软件下载...
  14. 使用jQuery回到顶部
  15. 通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)
  16. 大学计算机课程日记,大学计算机实习日记_
  17. Verliog 写电子密码锁
  18. seL4微内核操作系统初期总结 2018.10
  19. 发送广播失败 Parcelable encountered IOException writing serializable object (name =xxxx).
  20. MT6580电池电压ADC完全不对,最高达到4.7V

热门文章

  1. python+appium手机APP自动化基础篇3-找元素定位(anroid)
  2. 考试椅的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. Microsoft Visual Studio 2010 正式版下载[含旗舰版序列号](中、英文版)
  4. python平滑数据点_平滑离散数据集 - python
  5. 斐波那契数列递归算法和非递归算法以及其时间复杂度分析
  6. [Mac] 触控板鼠标点击(mouse-click)失灵
  7. 结合iconworkshop,创建ribbon界面
  8. 2021-07-12Git - git pull时遇到error: cannot lock ref ‘refs/remotes/origin/master‘: unable to resolve...
  9. bt656与bt1120
  10. Android 百度语音识别(详细步骤+源码)