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

Java集合--整体框架

Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*
Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。
Java集合工具包框架图(如下):

大致说明:

看上面的框架图,先抓住它的主干,即Collection和Map。

1 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。

  Collection包含了List和Set两大分支。
  (01) List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。
          List的实现类有LinkedList, ArrayList, Vector, Stack。

  (02) Set是一个不允许有重复元素的集合。
          Set的实现类有HastSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。

2 Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。

   AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。
   Hashtable虽然继承于Dictionary,但它实现了Map接口。

接下来,再看Iterator。它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。
ListIterator是专门为遍历List而存在的。

再看Enumeration,它是JDK 1.0引入的抽象类。作用和Iterator一样,也是遍历集合;但是Enumeration的功能要比Iterator少。在上面的框图中,Enumeration只能在Hashtable, Vector, Stack中使用。

最后,看Arrays和Collections。它们是操作数组、集合的两个工具类。

转载于:https://www.cnblogs.com/kexianting/p/8540369.html

相关文章:

  • 从伪并行的 Python 多线程说起
  • 练习一 第三题
  • 【译】PHP简洁之道
  • 第4届CSS大会3月31日相约厦门,与行业CSS专家面对面
  • 阿里盒马领域驱动设计实践
  • 大陆集团推出全新电子制动方案,全力保障高度自动驾驶安全
  • bootstrap4简单使用和入门01-简单表单的使用
  • 集合框架学习(目录总贴,待更新。。。)
  • Masonry适配
  • 【BZOJ】1086: [SCOI2005]王室联邦
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • vuex入门
  • zookeeper集群的安装
  • Godot-3D教程-02.3D性能和局限性
  • markdown编写技巧
  • 「面试题」如何实现一个圣杯布局?
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【知识碎片】第三方登录弹窗效果
  • canvas 高仿 Apple Watch 表盘
  • C学习-枚举(九)
  • Joomla 2.x, 3.x useful code cheatsheet
  • jquery ajax学习笔记
  • Python socket服务器端、客户端传送信息
  • 彻底搞懂浏览器Event-loop
  • 从0实现一个tiny react(三)生命周期
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 小程序开发中的那些坑
  • 异步
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (floyd+补集) poj 3275
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *** 2003
  • .equals()到底是什么意思?
  • .net mvc部分视图
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET正则基础之——正则委托
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @Autowired @Resource @Qualifier的区别
  • @JsonSerialize注解的使用
  • @media screen 针对不同移动设备
  • @NestedConfigurationProperty 注解用法
  • [ 转载 ] SharePoint 资料
  • [C++] 统计程序耗时
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [GXYCTF2019]BabySQli1
  • [HCIE] IPSec-VPN (手工模式)
  • [javaSE] GUI(事件监听机制)
  • [java刷算法]牛客—剑指offer链表有环的入口、反转链表、合并排序链表
  • [Kubernetes]4. 借助腾讯云TKE快速创建Pod、Deployment、Service部署k8s项目
  • [LeetCode]—Permutations II 求全排列(有重复值)