当前位置: 首页 > news >正文

java溯本求源之基础(二十四)之--常见List的实现共同点

        兄弟们终于到了上代码讲代码的环节了,之前的一些代码都是小打小闹,现在才是重头戏,今天来简单说说一些集合,首先这些都是基于数组实现的,当然Collections.emptyList不算奥,别犟。剩下的不多墨迹直接上重点,本次主要介绍的是 ArrayList,CopyOnWriteArrayList,LinkedList,UnmodifiableList,Collections.emptyList

1.共同点

        既然放在一起,我们怎么能不说共同点呢?

  • 实现了 List 接口

    • 它们都是 List 接口的实现类,提供了 List 接口中定义的方法,如 addremovegetsize 等。
  • 有序集合

    • 这些类都维护元素的插入顺序,元素按添加的顺序排列,支持通过索引进行访问。
  • 允许重复元素

    • 都允许包含重复的元素,即同一个元素可以多次出现在列表中。
  • 允许 null 元素

    • 这些实现类一般都允许添加 null 元素(除了某些特定情况下的 UnmodifiableListCollections.emptyList,它们本身是空的或者不可变的)。
  • 支持泛型

    • 这些类都支持 Java 泛型,允许创建包含特定类型元素的列表。
  • 线程不安全(除了 CopyOnWriteArrayList):

    • 大部分实现(如 ArrayListLinkedList)是线程不安全的,需要在多线程环境下进行额外的同步处理。CopyOnWriteArrayList 是线程安全的实现。
  • 遍历操作

    • 它们都支持通过迭代器(IteratorListIterator)进行遍历操作。
  • 批量操作

    • 这些实现类支持批量操作,如 addAllremoveAllretainAllclear

http://www.lryc.cn/news/374986.html

相关文章:

  • gin连接redis
  • 深度学习训练——batch_size参数设置过大反而训练更耗时的原因分析
  • jvm必知必会-类的生命周期图文详解
  • 一文看懂人工智能、机器学习、深度学习是什么、有什么区别!
  • Vue47-修改默认配置webpack.config.js文件
  • qss实现登录界面美化
  • ROS系统中解析通过CAN协议传输的超声波传感器数据
  • SonarQube安全扫描常见问题
  • Golang内存模型与分配机制
  • HarmoneyOS星河版 安装和启动
  • 奇舞周刊第530期:AIGC和低代码结合应用全栈研发实践总结
  • linux上运行js脚本
  • PCA 在图像分析上的应用
  • springboot项目mapper无法自动装配,未找到 ‘userMapper‘ 类型的Bean解决办法.
  • TC3xx A\B SWAP机制的小细节(2)
  • 双绞线(网线)的制作与测试
  • 高效处理海量慢SQL日志文件:Java与JSQLParser去重方案详解
  • 企业内部、与合作伙伴/客户文档协作如何高效安全地收集资料?
  • 用Unity创造自己的绿洲
  • 服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?
  • 工具清单 - 看板工具
  • Go微服务: 分布式之发送带有事务消息的示例
  • 【go】go初始化命令总结
  • vue音乐播放条
  • halcon实现浓淡补正,中间值补正-抽取暗
  • 太速科技-FMC213V3-基于FMC兼容1.8V IO的Full Camera Link 输入子卡
  • GPU短缺和模型效率的推动
  • linux在文件夹中查找文件内容
  • 算法:11. 盛最多水的容器
  • Hazelcast 分布式缓存 在Seatunnel中的使用