android 集合总结

news2024/10/10 10:32:36

1 集合分类,

collection和map两大类,Iterator接口是提供遍历任何Collection的接口,不是map


2 集合类的底层实现 

  hashset基于hashmap实现(只不过HashSet里面的HashMap所有的value都是同一个Object而已)
  treeset由红黑树实现
  hashmap由数组+链表+红黑树实现
  其他集合类基本都是由数组,或链表实现
 

3 arraylist 每次都是10的1.5倍扩容,会造成内存的浪费,可以考虑优化

  hashmap 是2的幂次方扩容
  对于hashmap或hashset最好定义key类是不可变的,这样key对应的hashCode() 值可以被缓存起    来,性能更好,这也是为什么String,Integer特别适合作为HashMap的key
  他们都是重写过hashcode和equal方法的,且这些包装类都是final修饰的:
  public final class Integer extends Number
  
  为什么要重写hashcode和equals 
  默认:hashcode是对地址的散列值 和equals是对地址的比较
  对象比较先比较hashcode,相同再去比较equals,
  所以 如果重写了equals将地址的比较改为内部某个属性值的比较
  那么还是先比较的是hashcode,即基于地址的散列值,所以要同步重写
  hashcode也变为基于某个属性值的散列值的比较才行。
  
 4 线程安全

  ConcurrentHashMap 是线程安全的,实现JDK1.8底层是synchronized+CAS+链表/红黑树,       JDK1.7底层是ReentrantLock+Segment+HashEntry
  但线程安全的都不支持key为null
  Iterator接口方便遍历。删除,修改,要用它,不然会ConcurrentModificationException,当然你    也可以倒序遍历等等

  使用线程不安全的集合要加同步锁,不然也会报ConcurrentModificationException错误
  掌握这些,应该就够了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于STC12C5A60S2系列1T 8051单片机通过单个按键单击次数实现开关机应用

基于STC12C5A60S2系列1T 8051单片机通过单个按键单击次数实现开关机应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍基于STC12C5A60S2系列1T 8051单片机通过单个按…

代码随想录刷题day38|斐波那契数爬楼梯最小花费爬楼梯

文章目录 day38学习内容一、动态规划理论基础1.1、动态规划理论基础的几个关键概念:1.2、动态规划五部曲 二、斐波那契数2.1、动态规划五部曲2.1.1、 确定dp数组(dp table)以及下标的含义2.1.2、确定递推公式2.1.3、 dp数组如何初始化2.1.4、…

带你了解万向锁与欧拉角

万向锁与欧拉角 附赠自动驾驶学习资料和量产经验:链接 前言 上一篇中我们讲了欧拉角与旋转变化,最后留了一个悬念,就是欧拉角在俯仰角为90时会出现万向锁现象,这是欧拉角表征飞行器姿态的一个局限性,今天我们就来谈谈…

Spring-01

Spring 1.Spring是什么? spring是一个开源的Java应用框架,它提供了一套全面的基础设施支持 2.Spring框架的主要特点 1)依赖注入(Dependency Injection,DI) 2)面向切面编程(AOP&#xff09…

智慧旅游中数据可视化的革新作用

在数字化浪潮席卷全球的今天,数据可视化技术已成为链接信息与用户的重要桥梁,尤其在智慧旅游领域,它的作用更是日益凸显。随着智慧旅游的概念越来越被重视,数据可视化成为其提供高效、直观服务的关键手段之一。本文将探讨数据可视…

K8S安装和部署(kubeadmin安装1主2从)

这里用kubeadmin方式进行安装部署 1. 准备三台服务器 服务器地址 节点名称 192.168.190.200 master 主 192.168.190.201 node1 从 192.168.190.202 node2 从 2. 主机初始化(所有主机) 2.1根据规划设置主机名 #切换到192.168.190.200 hostnamectl…

每天五分钟卷积神经网络:如何基于滑动窗口技术完成目标的检测?

汽车检测算法 现在我们想要构建一个汽车检测算法,我们希望输入到算法中一张图片,算法就可以帮助我们检测出这张图片中是否有汽车。 数据集 首先创建一个标签训练集,x是样本,y是标签。我们的训练集最好是被剪切过的图片,剪掉汽车以外的部分,使汽车居于中间位置,就是整张…

深入解析Java继承机制:面向对象编程的核心探究【Java面试题】

作为一名对技术充满热情的学习者,我一直以来都深刻地体会到知识的广度和深度。在这个不断演变的数字时代,我远非专家,而是一位不断追求进步的旅行者。通过这篇博客,我想分享我在某个领域的学习经验,与大家共同探讨、共…

如何看待各省纷纷成立数据管理局?

截至2024年1月,我国今年已有11个省市级数据局揭牌成立,包括江苏省数据局、四川省数据局、内蒙古自治区政务服务与数据管理局、上海市数据局、云南省数据局、青海省数据局、河北省数据和政务服务局、湖南省数据局、广东省政务服务和数据管理局、天津市数据…

PCI总线管脚定义(引脚定义)

文章目录 1: 参考资料的链接2: 图片说明3:PCI文字说明每日好图 1: 参考资料的链接 PCI bus pinout PCI三种标准引脚信号定义 PCI bus pinout 2: 图片说明 A面和B面正反 PCI Universal Card 32/64 bit ----------------------------------…

docker 的mysql容器中没有mysqlbinlog

docker 的mysql容器中没有mysqlbinlog bug信息原因:阉割版mysql容器,构建者没有把mysqlbinlog当成必需工具,去掉了解决方法:验证成功删除无用的文件5.7开启binlog,(8 的默认开启了)5.7版本的mys…

【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Networks

(ELA)Efficient Local Attention for Deep Convolutional Neural Networks 论文链接:ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org) 作者:Wei Xu, Yi Wan 单位:兰州大学信息…

高效测量“芯”搭档 | ACM32激光测距仪应用方案

激光测距仪概述 激光测距仪是利用激光对目标的距离进行准确测定的仪器。激光测距仪在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激光束,计时器测定激光束从发射到接收的时间,计算出从观测者到目标的距离。激光测距仪分为手持激…

4核8G服务器租用优惠价格418元一年,可买3年

京东云4C8G云服务器优惠价格418元1年、1899元三年,配置为:轻量云主机4C8G-180G SSD系统盘-5M带宽-500G月流量,京东云主机优惠活动 atengyun.com/go/jd 可以查看京东云服务器详细配置和精准报价单,活动打开如下图: 京东…

【MySQL探索之旅】MySQL数据表的增删查改——约束

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

魔众众包系统——革命性的在线任务接单平台

魔众众包系统,一个革命性的在线任务接单平台,最新版本为v1.9.0,发布日期为2024年3月10日。这个平台不仅提供了一个高效的任务分配和管理环境,还通过其先进的技术架构,确保了系统的稳定性和可靠性。无论是对于企业还是个…

金蝶云星空和旺店通·旗舰奇门接口打通对接实战

金蝶云星空和旺店通旗舰奇门接口打通对接实战 对接源平台:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在帮助企业…

『大模型笔记』提示工程、微调和RAG之间对比

提示工程、微调和RAG之间对比 文章目录 一. 提示工程、微调和RAG之间对比二. 参考文章文章:Prompt Engineering vs Finetuning vs RAG一. 提示工程、微调和RAG之间对比 Prompt EngineeringFinetuning

2024年MathorCup数学建模思路B题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

综合实验1

一、配置IP地址 [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [AR1-GigabitEthernet0/0/0]int se4/0/0 [AR1-Serial4/0/0]ip add 15.1.1.1 24 [AR1-Serial4/0/0] [AR2]int g0/0/0 [AR2-GigabitEthernet0/0/0]ip add 192.168.2.254 24 [AR2-Giga…