java集合系列——java集合概述(一)[通俗易懂]

在JDK中集合是很重要的,学习java那么一定要好好的去了解一下集合的源码以及一些集合实现的思想! 一:集合的UML类图(网上下载的图片) Java集合工具包位置是java.util.*二:集合工具的分析 1:Java集合是java提供的工具包,常用的数据结构:集合、链表、队列、栈、数组、映射等 2:java集合主要划分为五个部分: List列表、Set集合、Map映射、迭代器(It

大家好,又见面了,我是全栈君。

在JDK中集合是很重要的,学习java那么一定要好好的去了解一下集合的源码以及一些集合实现的思想!
一:集合的UML类图(网上下载的图片)

Java集合工具包位置是java.util.*

这里写图片描述

这里写图片描述

二:集合工具的分析
1:Java集合是java提供的工具包,常用的数据结构:集合、链表、队列、栈、数组、映射等
2:java集合主要划分为五个部分:

List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)

3:根据类图进行分析:
主要分为两大类:CollectionMap
1:Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。

包括了List和Set

  • List:List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vector。另外,LinkedList还是实现了Queue接口,因此也可以作为队列使用。

    List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。

  • Set: Set接口通常表示一个集合,其中的元素不允许重复(通过hashcode和equals函数保证),常用实现类有HashSet和TreeSet,HashSet是通过Map中的HashMap实现的,而TreeSet是通过Map中的TreeMap实现的。另外,TreeSet还实现了SortedSet接口,因此是有序的集合(集合中的元素要实现Comparable接口,并覆写Compartor函数才行)。

    Set是一个不允许有重复元素的集合。

2:Map是一个映射接口,即key-value键值对。一个key对应一个value。

Map是一个映射接口,其中的每个元素都是一个key-value键值对,同样抽象类AbstractMap通过适配器模式实现了Map接口中的大部分函数,TreeMap、HashMap、WeakHashMap等实现类都通过继承AbstractMap来实现,另外,不常用的HashTable直接实现了Map接口,它和Vector都是JDK1.0就引入的集合类。

3:Iterator,它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。不能遍历Map,只用来遍历Collection。
Collection的实现类都实现了iterator()函数,它返回一个Iterator对象,用来遍历集合,ListIterator则专门用来遍历List

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

5:Arrays和Collections。它们是操作数组、集合的两个工具类。

三:用的设计模式

Java集合框架中用的很多的适配器设计模式

四:菜鸟集合讲解:http://www.runoob.com/java/java-collections.html


java集合系列——java集合概述(一)
java集合系列——List集合之ArrayList介绍(二)
java集合系列——List集合之LinkedList介绍(三)
java集合系列——List集合之Vector介绍(四)
java集合系列——List集合之Stack介绍(五)
java集合系列——List集合总结(六)
java集合系列——Map介绍(七)
java集合系列——Map之HashMap介绍(八)
java集合系列——Map之TreeMap介绍(九)
java集合系列——Set之HashSet和TreeSet介绍(十)



如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121188.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电平转换芯片整理「建议收藏」

    电平转换芯片整理「建议收藏」最近做项目遇到的电平转换芯片比较多,这两天会持续汇总整理一下。1.何为电平转换芯片?简言之,就是在不同电压等级的系统电路中,两者通讯也满足信号电平匹配,如果不匹配,就必须要电平转换,电平转换芯片就是为这个而存在的。2.那电平转换都有哪些类型?这个要从不同通信协议的信号电平说起,我们通常在电子电路中,遇到的都是24V以下的电路系统,举个典型的例子–单片机系统,在单片机电路中,常见的信号电平以3.3V和5V为主,比如C51内核的(ATMEL,此处说明一点:ATMEL公司是搞芯片的,51架构是intel搞

    2022年8月10日
    6
  • ubuntu18.04录屏软件_linux录屏软件推荐

    ubuntu18.04录屏软件_linux录屏软件推荐1安装1sudoadd-apt-repositoryppa:peek-developers/stablesudoaptupdatesudoaptinstallpeek2.peek使用我想使用peek录制我操作某一软件,做一个教程。发现选不中要录的软件,因为peek始终在最前端,你只能选用peek,咋么办?将peek放置要录的区域,选择录制,出现倒计时在倒计时这几秒内,右键peek顶部,取消Alwayontop在桌面的菜单栏,选择软件,这时,这个软件处于最前端,然

    2025年11月25日
    3
  • df 命令详解「建议收藏」

    df 命令详解「建议收藏」df命令是用来查看linux系统服务器文件系统的磁盘使用情况。可以用该命令来查看已经使用了多少空间,还有多少空间可用。       df命令格式为df[选线][文件名]       df命令功能:显示指定磁盘文件的使用情况。如果没有指定文件,则显示所有挂载的文件系统的磁盘使用情况      选项可以有            -a:全部文件系统列表,包含虚拟文件系统

    2022年4月20日
    78
  • C语言再学习 — ASCII码表(转)

    C语言再学习 — ASCII码表(转)参看 ASCII 码表 ASCII 码表详解 ASCII 码表 ASCII 码大致可以分作三部分组成 第一部分是 ASCII 非打印控制字符第二部分是 ASCII 打印字符 第三部分是 扩展 ASCII 打印字符第一部分 ASCII 非打印控制字符表 ASCII 表上的数字 0 31 分配给了控制字符 用于控制像打印机等一些外围设备 例如 12 代表换页 新页功能 此命令

    2026年2月5日
    0
  • windows7系统修复方法_系统镜像包

    windows7系统修复方法_系统镜像包Linux系统-RPM包详解RPM包详解rpm命令执行安装rpm包和源码包,rpm包以.rpm结尾,而源码包以.src.rpm结尾RPM软件包命令规则name-version-arch.rpmnam

    2022年8月3日
    9
  • pycharm2021.11.3 激活【最新永久激活】

    (pycharm2021.11.3 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~6B1QWJC8H5-eyJsaWNlb…

    2022年3月28日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号