首页 > 编程语言 >java集合相关理解

java集合相关理解

时间:2023-10-30 13:23:35浏览次数:35  
标签:java HashMap 安全 理解 线程 集合 键值

collection是java集合的最根本的接口

collections是java集合的工具类

 

ArrayList是线程不安全的

vector是线程安全的 其实现继承均与ArrayList相同,但是其中方法多数添加了synchronized关键字

stack继承了vector 因此也是线程安全的   但是它实现了栈的数据结构。栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

 

HashMap 线程不安全 HashMap基于哈希表实现,它通过使用键的hashCode()和equals()方法来确定键值对的存储位置

ConcurrentHashMap 线程安全  分段锁

HashTable 线程安全 整体锁

TreeMap 线程不安全但是有序   TreeMap基于红黑树(一种自平衡的二叉搜索树)实现,它根据键的自然顺序或者Comparator来组织键值对。

标签:java,HashMap,安全,理解,线程,集合,键值
From: https://www.cnblogs.com/ynhk/p/17797604.html

相关文章

  • 01集合结构体系
    :集合体系结构集合分两大类:Collection:单列集合,一次放入一个数据Map:双列集合,一次放入一对数据一、集合分两大类Collection:单列集合,每次添加一个数据。Map:双列集合,每次添加一对数据。二、单列集合集合体系结构图:List系列集合:添加的元素是:有序、可重复、有索引......
  • 04List系列的集合
    List集合特点:有序:存和取的元素顺序一致有索引:可以通过索引操作元素可重复:存储的元素可以重复一、List集合的特有方法Collection的方法List都继承了List集合因为有索引,所以多了很多索引操作的方法。方法名称说明voidadd(intindex,Eelement)在此集......
  • 排序算法:选择排序,分别用c++、java、python实现
    选择排序介绍选择排序(SelectionSort)是一种简单的比较排序算法,它的工作原理如下:分区:将待排序的数组分成两个部分,一个部分是已排序的子数组,另一个部分是未排序的子数组。初始时,已排序的子数组为空,而未排序的子数组包含整个数组。选择最小值:从未排序的子数组中找到最小(或最大,根据......
  • 算法题:分别用c++/python/java实现回文数
    回文数是一个数字,从左到右和从右到左读都是相同的数字序列。换句话说,回文数在数值上是对称的。一些常见的回文数示例包括:单个数字:例如1、2、3等,它们本身就是回文数,因为它们只有一个数字。两位数:例如11、22、33等,它们也是回文数,因为它们的左右两个数字相同。多位数:例如121、1331、12......
  • java.net.SocketException四大异常解决方案
    java.net.SocketException四大异常解决方案java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题。希望大家有所帮助。那么我们就来看看有关java.net.SocketException的相关知识。第1个异常是java.net.BindException:Addressalread......
  • 【java基础-实战3】list遍历时删除元素的方法
    在实际的业务开发中,容器的遍历可以说是非常非常常见的场景了,遍历删除呢,用的机会也比较多,那么有哪几种删除元素的方法呢?你用对了吗~本文循序渐进,先说几种容易出问题的方法,再引出几种比较可靠的方法~首先,初始化一个数组,用于后面的事例演示:List<Integer>list=newArrayList<>();......
  • Linux PAGE_ALIGN 宏定义的理解
    前言最近再阅读Linuxion(一种内存分配管理)时,遇到了PAGE_ALIGN宏,这个宏到底是怎么工作的?【页对齐】时什么意思?页大小就是4096吗?追踪PAGE_ALIGN通过一步一步的追踪,终于了解了PAGE_ALIGN宏的最终展开定义。其实就是PAGE_SIZE对齐,Linux上默认是4096源头:Linux内核drive......
  • Java技术分享:探索无限可能的编程世界
    作为一门广泛应用于软件开发领域的编程语言,Java在近几十年来一直保持着强大的生命力和广泛的影响力。本文将带您深入探索Java技术的各个方面,并分享一些有关Java编程的实用技巧和最新趋势。Java的优势与特点Java作为一种跨平台、面向对象的编程语言,具有许多独特的优势。首先,它的可......
  • Java后端常用功能组件(持续更新)
    写项目时会存在大量的重复业务,不想重复的自己coding,就需要去cv。这里存放常用的功能代码,进行二次开发。说明这里只给出后端的代码,前端页面的请求用postman或其他应用。springboot应用结合目录与CTRL+f,可以快速定位到指定需求目录文件上传文件上传代码展示importl......
  • 如何避免JavaScript中的内存泄漏?
    前言过去,我们浏览静态网站时无须过多关注内存管理,因为加载新页面时,之前的页面信息会从内存中删除。然而,随着单页Web应用(SPA)的兴起,应用程序消耗的内存越来越多,这不仅会降低浏览器性能,甚至会导致浏览器卡死。因此,在编码实践中,开发人员需要更加关注与内存相关的内容。因此,小编今天将......