首页 > 其他分享 >集合

集合

时间:2024-08-06 09:49:42浏览次数:13  
标签:Map 元素 List Collection 接口 集合

image-20240806093918778

我们来简单解读下上面这个框架图:

所有集合类都位于java.util包下

Iterator是遍历集合的工具,我们经常通过Iterator迭代器来遍历集合。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。ListIterator主要作用就是遍历List。

Java的集合类主要由两个接口派生而出:Collection和Map,作为Java集合框架的根接口,这两个接口包含了一些子接口和实现类。

集合接口:即图中的 LinkIterator、List、Set、Queue、SortedMap、SortedMap 6个接口(即短虚线框部分),表示不同集合类型,是集合框架的基础。

抽象类:即图中的 AbstractCollection、AbstractList、AbstractSet、AbstractMap、AbstractSequentialList 5个抽象类(长虚线框部分),抽象类只是对集合接口的部分实现,有需要的话可以继续扩展,完善自定义集合类。

实现类:即图片中LinkHashMap、TreeMap等8个实现类(实线框部分),主要是对接口的具体实现。

Collection 接口包含一组允许重复的对象

Set 接口继承 Collection,但是集合内的元素不重复。Set的实现类有HastSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。

List 接口继承 Collection,集合内元素允许重复,但维护了元素的插入顺序,所以是个有序队列。每一个元素都有它的索引。第一个元素的索引值是0。List的实现类有LinkedList, ArrayList, Vector, Stack。

Map接口是键-值对象顶层接口,下面还包含了一些子接口和实现类。AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。Hashtable虽然继承于Dictionary,但它实现了Map接口。

Set、List和Map是集合的三大类:
List:有序集合,集合中元素可重复,访问元素可以根据元素索引访问。
Set:无序集合,集合中元素不可以重复,访问集合中的元素只能根据元素自身信息来访问(因此元素不允许重复)。
Map:Key-value模式的键值对元素,访问时根据元素key来读取对应的value。

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

标签:Map,元素,List,Collection,接口,集合
From: https://www.cnblogs.com/N1cholas210162702016/p/18344559

相关文章

  • 【日常开发】一个list集合 根据a字段 b字段进行分组 并计算c字段的和 并封装这种格式:
    ......
  • 47 集合操作与运算
    1增加与删除集合元素集合对象的add()方法可以增加新元素,如果该元素已存在则忽略该操作,不会抛出异常;update()方法合并另外一个集合中的元素到当前集合中,并自动去除重复元素。s={1,2,3}print(s)s.add(3)#增加元素,重复元素自动忽略s.update({3,4,5})#更新......
  • SmolLM: 一个超快速、超高性能的小模型集合
    简介本文将介绍SmolLM。它集合了一系列最尖端的135M、360M、1.7B参数量的小模型,这些模型均在一个全新的高质量数据集上训练。本文将介绍数据整理、模型评测、使用方法等相关过程。引言近期,人们对能在本地设备上运行的小语言模型的兴趣日渐增长。这一趋势不仅激发了相关业者......
  • Python,Maskrcnn训练,cannot import name ‘saving‘ from ‘keras.engine‘ ,等问题集合
    Python版本=3.9,tensorflow=2.11.0,keras==2.11.0问题一、module'keras.engine'hasnoattribute'Layer'Traceback(mostrecentcalllast):File"C:\Users\Administrator\Desktop\20240801\代码\test.py",line16,in<module>......
  • Java常用集合类的接口方法
    ......
  • 位图--类似于数组,用于整数的集合
    位图(Bitmap)是一种数据结构,它使用位(bit)来表示信息,通常用来表示一组元素的集合。在位图中,每个位对应集合中的一个元素,如果位的值为1,则表示该元素存在或被选中;如果位的值为0,则表示该元素不存在或未被选中。位图因其高效的内存使用和快速的查找、插入、删除操作而广泛应用于各种场......
  • 常用快捷键集合
    常用VS运行调试程序快捷键编译.编译程序:Ctrl+F7运行.运行程序:Ctrl+F5打断点:F9启动调试并运行到断点位置:F5单步执行:F10单步进入函数:F11结束调试:Shift+F5清除项目中的所有断点CTRL+SHIFT+F9跳出执行当前执行点所处函数的剩余行 SHIFT+F11常用VS编辑程序......
  • Python:第三课:重要API - 集合类
    列表-list可以用来存储内容可变长度可变类型可以不同有序的数据的数据结构。类似于java中的List列表的基本使用:##定义列表l1=[1,2,3,"a","b","c",True,False]##访问列表print(l1[4])print(l1[3:6])print(l1[3:])print(l1[:6])print(l1[-2])##更新列表l1[4......
  • C#中常用集合类型
    在C#中,集合是用于存储和操作一组数据项的数据结构。这些集合通常位于 System.Collections 和 System.Collections.Generic 命名空间中。下面我将概述C#中几种常用的集合类型及其特点:1. System.Collections 命名空间中的集合这个命名空间中的集合类型不支持泛型,因此在......
  • Java集合
    单列集合思维导图遍历方式适用场景双列集合可变参数Collections工具类常用API......