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

Java集合框架(知识整理)

集合框架

Java 集合框架可以分为两条大的支线:

1、Collection,主要由 List、Set、Queue 组成:

  • List 代表有序、可重复的集合,典型代表就是封装了动态数组的 ArrayList 和封装了链表的 LinkedList;
  • Set 代表无序、不可重复的集合,典型代表就是 HashSet 和 TreeSet;
  • Queue 代表队列,典型代表就是双端队列 ArrayDeque,以及优先级队列 PriorityQueue。

2、Map,代表键值对的集合,典型代表就是 HashMap。

一、List

  • 特点:存取有序,可以存放重复的元素,可以用下标对元素进行操作。

1)ArrayList

  • 特点:

    • ArrayList 是由动态数组实现的,支持随机存取,也就是可以通过下标直接存取元素;
    • ArrayList 在数组的基础上实现了自动扩容,并且提供了比数组更丰富的预定义方法(各种增删改查),非常灵活;
    • 从尾部插入和删除元素会比较快捷,从中间插入和删除元素会比较低效,因为涉及到数组元素的复制和移动;
    • 如果内部数组的容量不足时会自动扩容,因此当元素非常庞大的时候,效率会比较低
  • 创建:

    //下面两个创建的效果是差不多的
    ArrayList<String> alist = new ArrayList<String>();
    List<String> alist = new ArrayList<>();
    
    //非常确定 ArrayList 中元素的个数,在创建的时候还可以指定初始大小
    List<String> alist = new ArrayList<>(20);            
    
  • 功能:

    • 基本数组的增删改查,不过当添加删除中间的元素时,对应后续的元素位置得跟着向后向前移,考虑时间复杂度等性能
    • 扩容需要重新复制数组的

2)


http://www.kler.cn/a/557197.html

相关文章:

  • ipad连接电脑断断续续,不断弹窗的解决办法
  • CNewMenu::QueryContextMenu函数分析之新建菜单项的创建
  • 企业内容中台搭建实战手册
  • 如何成为一名合格的单片机工程师----引言介绍篇(1)
  • C++面试题,进程和线程方面(1)
  • 【Git】五、多人协作
  • 041集——封装之:新建图层(CAD—C#二次开发入门)
  • 新学一个JavaScript 的 classList API
  • win11系统无法打开软件_组策略无法打开_gpedit.msc不生效_为了对电脑进行保护,已经阻止此应用---Windows工作笔记057
  • C++ 项目:Unsplash 爬虫与瀑布流实战
  • Perplexity AI:通过OpenAI与DeepSeek彻底革新搜索和商业策略
  • 【C语言】第五期——函数
  • windows下docker使用笔记
  • 重构谷粒商城07:Git一小时快速起飞指南
  • 12.Docker 的资源限制
  • Github 开源 AI 知识库推荐
  • Ansible 学习笔记
  • Python----数据结构(哈希表:哈希表组成,哈希冲突)
  • Java函数式接口的巧妙应用
  • 2025.2.19——1500