在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。

集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。

在学习Java中的集合类的API、编程原理的时候,我们一定要明白,"集合"是一个很古老的数学概念,它远远早于Java的出现。从数学概念的角度来理解集合能帮助我们更好的理解编程中什么时候该使用什么类型的集合类。

点击查看大图

如有遗漏或不正确之处敬请留言,谢谢!

转载于:https://www.cnblogs.com/mrhgw/p/9728065.html

一目了然了解JAVA集合体系相关推荐

  1. Java集合体系总结

    一.集合框架 集合是容纳数据的容器,java常用的集合体系图如下.以集合中是否运行重复元素来分,主要有List和Set接口,List集合中可以有重复元素,Set集合集合中的元素不可重复,Iterato ...

  2. Java 集合体系详解——List体系有序集合

    引言 面向对象语言对事物的体现必然是以对象的形式,Java工程师为了方便多多个对象的操作,就对对象进行存储,集合就是存储对象的一种方式,他们的底层都是基于不同的数据结构.当然集合和数组一样都是容器,数 ...

  3. Java集合框架体系结构图(详细一体图)

    java集合体系结构图 比较详细.呕心沥血画出.请收好

  4. java 顶层类_Javase之集合体系之(1)集合顶层类Collection与其迭代器知识

    集合体系之集合顶层类Collection与其迭代器知识 集合的由来:Java是一门面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,就必须把多个对象进行存储,而要存 ...

  5. Java容器 | 基于源码分析Map集合体系

    一.容器之Map集合 集合体系的源码中,Map中的HashMap的设计堪称最经典,涉及数据结构.编程思想.哈希计算等等,在日常开发中对于一些源码的思想进行参考借鉴还是很有必要的. 基础:元素增查删.容 ...

  6. Java容器 | 基于源码分析List集合体系

    一.容器之List集合 List集合体系应该是日常开发中最常用的API,而且通常是作为面试压轴问题(JVM.集合.并发),集合这块代码的整体设计也是融合很多编程思想,对于程序员来说具有很高的参考和借鉴 ...

  7. Java进阶(七)Set系列集合、Map集合体系

    七.Set系列集合.Map集合体系 需要学会什么? Set系列集合的特点:Set系列集合的特点和底层原理. 集合工具类Collections:快速的对集合进行元素的添加.排序等操作. 综合案例:把Co ...

  8. Java集合之Stack(出自Java知识体系)

    安琪拉正在梳理Java知识体系,这篇讲Java集合的Stack.如果希望获取完整的<安琪拉Java知识体系>整理中, 完成后公众号回复"知识体系" 即可获取. 完整的J ...

  9. java集合框架总结(一)

    为什么80%的码农都做不了架构师?>>>    本系列博客详细介绍了JAVA集合框架,你将知道: 一.学习目标 1)java集合框架的层次结构 2)使用Collection接口定义的 ...

最新文章

  1. oracle datetime
  2. Ubuntu 16.04安装unrar解压RAR文件
  3. 在页面中隐藏数据库某信息并显示该信息对应的字典编码名称(后台ssh框架,前台extjs)
  4. 【pnglib】解析png格式的图像
  5. 人工智能免费学习!想了解的进来看看
  6. awesome-go:很全的go语言资源合集
  7. python字符串类型_Python3的字符串类型(疯狂Python)
  8. php 放大镜,图片放大镜效果实战总结
  9. mysql中in和exists的应用场景_mysql中关于in和exists的使用
  10. hdu3949(线性基,求第k小的异或和
  11. linux扫描硬盘故障命令
  12. ha rose server安装 sql_ROSE HA V8.9+Win2008+SQL2008双机配置详细指南(图文)
  13. java中handler机制_自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?...
  14. R语言入门-常用的向量运算
  15. 系统运维工程师都要会什么?
  16. 物联网应用层的关键技术有哪些
  17. 《GAMES203:三维重建和理解》1 三维视觉(3D Vision)介绍
  18. edison\arduino-1.5.3-Intel.1.0.3闪退
  19. 微信朋友圈怎么设置对单人开放?
  20. Python用 matplotlib 工具包来绘制世界地图

热门文章

  1. php mysql 防 sql注入_php 防sql注入方法
  2. eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
  3. you need python_Life is short,you need Python——Python序列(列表)
  4. win7计算机创建新用户,win7系统无法创建新用户的解决方法
  5. 专科电子信息工程不学c语言,高中数学物理都不是很好 想报电子信息工程专业(专科)能行么?...
  6. 刺客信条奥德赛无法加载库_点评刺客信条起源、奥德赛、英灵殿,哪个最好玩?...
  7. 神经网络基础:(1)得分函数 or 得分函数
  8. 数字图像处理:边缘检测(Edge detection)
  9. PointNet++:(1)网络完成的任务分析
  10. GitHub开源城市结构公交路线数据可视化