集合{Collection集合 迭代器 ArrayList集合 LinkedList集合 HashMap集合 }(一)

Java 集合 Collection常考面试题 HashMap:适用于需要通过键快速访问数据的场景,存储键值对。HashSet:适用于需要管理一组唯一元素的场景,只存储键,并不关心值。HashMap与TreeMap的区别是否需要存储键值对?是:选择Map的实现类(HashMapTreeMap否:继续选择Collection的实现类。是否允许重复?是:选择ListArrayListLinkedList否:选择SetHashSetTreeSet是否需要顺序访问?或。TreeMap或TreeSet。是否需要线程安全? 阅读详情

目录标题

集合

在这里插入图片描述

什么是集合

在这里插入图片描述

集合和数组不同
不要将两者混洗
数组的特点:创建的时候要指定其长度 而且使用时 长度是不可改变的
所以当我们统计不可控制变量的数据的时候
这时候我们需要
使用集合Collection


在这里插入图片描述

Map

集合框架中第二个体系

在这里插入图片描述

Collection集合

一共有十七个公共方法!!!

在这里插入图片描述

Collection中的方法分类


第一类 修改操作
add(E)添加数据
remove(Object)删除数据


第二类 查询操作
size()查询集合中有多少个数据
isEmpty()集合是否为空
contains(Object)集合中是否包含某个数据


第三类 批量操作
addAll(Collection <? extends E>) 添加批量数据 removeAll(Collection <?>) 删除批量数据
清空集合等等


在这里插入图片描述

add和addAll方法

练习一


讲解
修改操作中 boolean add(E e)
重点
boolean add(E e)
数据类型和集合类型一样

在这里插入图片描述


一般来说,super() 的含义可有以下四个理解:
1.子类的构造过程中必须调用父类的构造方法
2.子类可在自己的构造方法中使用super()来调用父类的有参构造方法
(而此刻显示调用super(name)就是调用父类的有参构造方法)
3.如果子类的构造方法中没有显示的调用父类的构造方法,则系统默认的调用父类的无参的构造方法。
4.如果子类的构造方法中既没有显示调用父类的构造方法,而父类中又没有无参的构造方法,则编译出错。
public Banana(String name) {
//(而此刻显示调用super(name)就是调用父类的有参构造方法)
super(name);
}



在这里插入图片描述

练习二

讲解
批量操作中
boolean addAll(Collection <? extends E> c)方法


在这里插入图片描述

总结

在这里插入图片描述

集合删除数据的方法


集合删除数据的方法一共有四种
remove(Object);删除单个数据
删除批量数据 removeAll(Collection<?>)
删除符合条件的数据 removeIf(Predicate< ? super E >)
JDK 1.8 新加入的方法: 删除所有数据 直接清空集合 Clear();



讲解boolean remove(Object o);

删除单个数据的方法

在这里插入图片描述

数据如何删除的原理


数据如何删除的原理
查看源码 remove()方法
数据通过迭代器来删除的
先判断删除的数据是否为null
第一种情况 如果数据为null是
使用“==”号 来匹配集合中是否存在null
第二种情况
利用equals来匹配删除的数据


集合删除数据流程图


在这里插入图片描述

迭代器Iterator和Iterable


collection集合选择了迭代器模式来访问数据的方法
迭代器是一个接口
有两个抽象方法
hasNext();用来判断 还有没有数据可供访问
next();方法 用来访问 集合的下一个数据


在这里插入图片描述


而集合List中的get()方法
依赖索引来获取数据
而集合Queue中的poll()方法
依赖队列规则来获取数据

在这里插入图片描述


而迭代器具有通用性
可以访问不同特性的集合数据
而不用关心它们的内部实现

在这里插入图片描述


迭代器的使用
跟游标卡尺使用差不多

在这里插入图片描述


重点!!!
注意点
集合不是直接去实现Itertor接口的
而是实现Iterable接口
是用这个Iterable定义的方法来返回当前集合的迭代器

在这里插入图片描述


从下图可以看出 Collection集合 就继承Iterable接口
则Collection体系中都要按照这种方式返回迭代器 以供大家访问数据

在这里插入图片描述


重点解释
为什么要通过这种方式 来使用迭代器
如果当集合直接实现迭代器的话
那如果别人调用当前集合的next()方法
那么就会影响到你遍历数据
因为你自己原本定义从头开始遍历所有数据的
但是别人已经将数据遍历完了 这样的话你本身就拿不到数据了

在这里插入图片描述

解决办法
通过实现Iterable接口方式
就可以每次返回新的迭代器
不同的迭代器 遍历数据互不影响
所以这里可以看出
迭代器具有独立性和隔离性

在这里插入图片描述




迭代器具有屏蔽集合间不同特性


还有一个好处:
如果你实现了Iterable接口
并且按照要求返回迭代器
那么就可以使用foreach循环
来直接遍历数据


理解foreach循环
foreach循环是一个Java的语法糖
反编译后就会发现 它本身用的就是迭代器


在这里插入图片描述

总结:

iterable 用来返回迭代器
实现了该接口的类 算是可迭代对象了
可直接使用foreach循环来访问数据


Iterator 用来遍历集合的数据
不用关心集合的内部实现
foreach 循环本身用的就是迭代器


集合批量删除数据的方法

在这里插入图片描述

removAll()方法

在该集合中删除指定集合中 一样的数据
c 为指定要删除的数据集合
只要有一个删除成功 就会返回true 否则返回false


在这里插入图片描述

removeAll()方法删除原理


numbers数据集合 删除 subNumbers数据集合中
存在一样的数据
依次检查迭代器中返回的每一个数据 来查看它是否包含在指定的
subNumbers数据集合中
如果包含在内 则使用迭代器中的remove方法 将它从这个集合中删除


在这里插入图片描述

练习

在这里插入图片描述




retainAll(Collection <?>)方法


跟removeAll方法正好相反
保留在指定集合中存在的数据
c 为 要保留的数据集合
同理也是 只要有一个匹配成功 就会返回true 否则返回false

在这里插入图片描述

retainAll方法保留数据集合原理
遍历集合 依次检查迭代器返回的每一个数据
来查看它是否不包含在指定的集合中
如果不包含在内 则使用迭代器的remove方法
将它从这个集合中删除


在这里插入图片描述

练习

在这里插入图片描述

removeIf(Predicate <? super E> filter) 方法


按照指定规则删除数据
filter 为指定删除的规则
只要有一个匹配成功 就会返回true 否则返回false


在这里插入图片描述

规则 :删除原理
为 遍历集合 依次检查迭代器返回的每一个数据
以查看它是否满足规则
如果满足规则
则使用迭代器 的remove方法将它从这个集合中删除


在这里插入图片描述

练习

在这里插入图片描述

clear()方法

清空集合


在这里插入图片描述

代码原理
清空集合
通过遍历集合 依次调用迭代器的remove方法
删除集合中每一个数据


在这里插入图片描述

练习

在这里插入图片描述

总结上面内容

在这里插入图片描述




学习ArrayLIst

在这里插入图片描述

介绍ArrayLIst


Array 数组
List 列表
ArrayList 数组列表
所以可以看出 ArrayList 是一个基于数组的集合
ArrayList 内部就是用数组来存储数据的


在这里插入图片描述


而数组的特点就是
一 有序 : 元素存入集合的顺序和取出的顺序一致
二 可重复 :它里面可以存储重复的元素
三 可存null : 它里面可以存储 null元素



ArrayList
的优点: 查询快 (只要知道索引 一瞬间就查到了)
ArrayLIst是所有容器中 查询速度最快的一个
缺点 :增删慢
原因:因为数组存满后要扩容 而扩容的过程 是先
创建一个是原来容量1.5倍的数组 然后再把原来的元素拷贝到新数组中 这样导致添加元素的效率就大大的降低了
(所以 在增删过程中 ArrayList集合 数据越多 增删数据就慢 删除也是一样的)


在这里插入图片描述

什么是大小(size):
大小就是元素的个数
什么是容量(capacity): 就是数组的长度



在这里插入图片描述

ArrayList的创建方式:

它一共有三个构造方法
无参的构造方法创建:public ArrayList(); 数组默认初始容量为10
pulic ArrayList(int initialCapacity) ; initialCapacity可以指定数组的初始容量
public ArrayList (Collection<? extends E> c); :该构造方法 可以将另一个集合中的元素 插入到ArrayList集合中 c为待插入的集合
数组的初始容量就是集合的大小



在这里插入图片描述

ArrayList的常用方法

Collection集合框架结构体系图

在这里插入图片描述

ArrayList作为List旗下的一员 而 List 又作为Collection旗下的一员
所以 ArrayList不但拥有Collection里面所有的方法 而且它还拥有
List里面所有的方法



但是:在这些方法中 它只有十个是常用的方法


Collection集合里面的所有方法

在这里插入图片描述

List集合里面的所有方法

在这里插入图片描述

所以 ArrayList 常用方法分类
一 查询操作:
有五个方法:涉及到根据索引获取元素 根据元素获取对应的索引
以及迭代器等操作


二 修改操作:
有三个方法: 涉及到添加元素 和 覆盖指定位置的元素 以为删除指定位置的元素


三 批量操作:
有两个方法 :清空集合和为集合创建流


在这里插入图片描述

总结:

介绍了ArrayList的特点和优缺点
在实际开发中 它是用得最频繁的容器


在这里插入图片描述

LinkedList

Collection集合框架结构体系图

在这里插入图片描述

在这里插入图片描述

介绍 LinkedList


LInked 链式
list 列表
LinkedList 链式列表 简称列表



可以看出 它是基于链表实现的
而且还是双向的
Node< E > next;
Node< E > prev;
所以LinkedList又称 双向链表



E item:用来存放数据的地方
next用于记录前一个节点
prev(previous)属性用于记录前一个节点
这就是双向的意思
如果单向的话 就没有prev属性 只有next属性


在这里插入图片描述

练习

下面演示一个节点
数据就放在item中
此时prev属性的值为null
说明它前面没有节点
next属性的值也为null
说明它后面也没有节点


在这里插入图片描述


在LinkedList集合中
用first属性来记录第一个元素
first 为头节点
而 last属性来记录最后一个元素 为尾节点




当只有一个元素时

在这里插入图片描述

当有三个元素时

在这里插入图片描述




LInkedList集合默认是从尾部开始添加元素的
但是你也可以调用 addFirst方法
从头部开始添加元素


在这里插入图片描述

LinkedList集合的特点

LinkedList的三个特点
一: 有序 元素存入的顺序和取出的顺序一致
二 : 可重复 它里面可以存储重复的元素
三 : 可为null 它里面可以存储null元素



在这里插入图片描述

优点 :
一: 增删快
当增加元素时:只需记录前后的节点是谁 不需要像ArrayList那样 还要调整数组大小
当删除元素时:只需要调整前后节点的记录 效率非常的快

在这里插入图片描述



缺点:
一: 查询慢
即便是知道索引也要从头部或者是从尾部 开始一个接一个的查

在这里插入图片描述



LinkedList的常用方法
LinkedList既实现了List接口
又实现了Deque接口
而Deque又继承Queue
List和 Queue又继承 Collection
所以它拥有的方法特别的多

LinkedList UML 类图(重点)

在这里插入图片描述




它拥有Collection里面的所有方法
List 里面的所有方法
Queue里面的所有方法
也有Deque里面的所有方法
但是在这些方法里
它只有九个方法是常用的
这九个方法中缺少删除数据的方法、




Collection方法分类 List方法分类 Queue方法分类 Deque方法分类 LinkedList 常用方法分类

在这里插入图片描述



LinkedList删除数据

在LinkedList删除数据
—般是找到匹配项以后
使用迭代器的remove方法
进行删除

在这里插入图片描述

LinkedList 与 ArrayList 的区别

它俩的区别主要来自于数据结构的不同
ArrayList是基于数组实现的
LinkedList是基于链表实现的


因为数组是基于索引 (index)的数据结构
所以它查询数据的速度是很快的
相对于ArrayList
LinkedList查询数据的速度是很慢的
因为需要在双向链表中
一个接一个地找



但是在增删数据中
LinkedList要比ArrayList快得多
因为它不需要频繁地调整数组大小
只需要记录前一个元素
和后一个元素是谁
就可以了
正是因为这样
LinkedList需要更多的内存
而ArrayList 不需要花费额外的内存
来记录前后都是谁



所以综上所述
ArrayList多用于查询较多的应用场景
而LinkedList多用于增删较多的应用场景



在这里插入图片描述

总结:

在这里插入图片描述

HashMap

在这里插入图片描述

什么是HashMap

Hash:“散列”或“哈希”的意思
Map:”映射“的意思
HashMap:哈希映射


在这里插入图片描述

Map集合框架结构体系图

在这里插入图片描述

所以可以看出
它是以key-value(键值对)形式存储数据的
而且这些数据保存在数组中
默认的初始容量为16



在这里插入图片描述



数组的特点是有序
但 HashMap里面的元素
并不是按顺序存放的
而是先根据key计算出
元素的哈希值
再&(与上)(数组容量-1)

在这里插入图片描述

这个操作等同于
与数组容量取余
得到的余数
就是元素的位置



如此以来
势必会有多个元素
被分配到同一个位置上
那该怎么办呢


在这里插入图片描述

HashMap
用链表将这些元素
单向的连接起来
这样解决了多个元素位置冲突的问题


在这里插入图片描述

但是这样存了以后 该怎么取呢
取出的顺序:先从数组下标0开始
再从链表头节点开始
重点!!!
所以 依次是 柠檬 苹果香蕉 葡萄 梨子



在这里插入图片描述

练习

重点!!!
程序验证 是不是这个顺序取出的

在这里插入图片描述

总结HashMap集合的特点


总结HashMap集合的特点
重点:
第一 无序: 元素存入的顺序和取出的顺序不一致
同时 这也是它唯一的缺点

在这里插入图片描述

HashMap的第二个特点: key可以为null
我们在计算元素哈希值的地方
发现了key 还可以为null
并且还给它分配了哈希值是 0
下面为三元运算符:
/X ? y : z
//如果x== true则结果为y否则结果为z
例如 :key==null 的时候结果为0


在这里插入图片描述

所以可以总结出
HashMap的第二个特点
key可以为null
并且哈希值为0




HashMap的第三个特点 : key不可以重复
因为通过前面的知识
我们可以知道
key相同
哈希值就一定相同
位置也就相同
出现这种情况
新值会覆盖旧值



由此我们可以总结出:
key不可以重复
重复的key
新值会覆盖旧值



在这里插入图片描述

什么是哈希冲突



它是两个不相同的key
产生了相同的哈希值
我们把这种情况称之为 哈希冲突
也叫 哈希碰撞




发生碰撞的本质
还是取值范围的问题
比如 一个二进制位
它的取值范围是0-1
若在它里面取哈希值的话
要么是0
要么是1
此时发生碰撞的概率是1/2
也就是说
如果有三个key时
就一定会发生碰撞



在这里插入图片描述

但是 如果我们将哈希值的长度
扩大到16个二进制位
那么它的取值范围就会越大
发生碰撞的概率就会越小


在这里插入图片描述

在HashMap中
哈希值是int类型
(final int hash;)
四个字节
长度是32个二进制位
碰撞的概率是1/4294967296


更长的哈希值
意味着发生碰撞的概率更低
但是也需要更大的储存空间
和更多的计算
我们需要在性能和成本之间做好权衡


在这里插入图片描述

HashMap的特点: 链化<==>树化

什么是链化
什么是树化
“树化”是当链表长度大于8
且数组容量大于等于64时
将链表转换为红黑树


在这里插入图片描述

红黑树是一种自平衡的二叉树
这样做的目的
是为了提高查询速度
因为链表一旦长了以后
查询就会变得很慢


另外
红黑树也会变回链表
当红黑树中的节点小于等于6时
红黑树将转换为链表
这个过程称之为"链化"
此时的节点数很少
链表与红黑树的查询速度不相上下


而且
在新增元素的时候
链表不用计算节点的位置
直接插在尾部
但红黑树还要计算节点的位置
因此
它们两个互相转换
可以形成很好的互补



在这里插入图片描述

注意点:
HashMap在JDK1.8中
才引入的红黑树
以前采用的是数组+链表这种形式


在这里插入图片描述

HashMap的特点:扩容


当元素个数超过临界值时
HashMap就需要扩容
临界值=容量 * 负载因子
扩容后的容量是之前的两倍
频繁扩容很影响HashMap 性能
所以
设置合适的初始容量与负载因子至关重要



在这里插入图片描述

在这里插入图片描述

HashMap的常用方法

HashMap 实现了Map接口
拥有Map 里面的所有方法
但是在这些方法里面
它只是有8个方法是常用的
重点:!
其中 put和get方法用得最频繁



在这里插入图片描述

Map方法分类和HashMap常用方法分类

在这里插入图片描述

总结HashMap集合

本节介绍了哈希映射 hashMap
它的优缺点和特点
在实际开发中
它是用得最频繁的容器之一
多用于缓存数据



在这里插入图片描述

在这里插入图片描述

Java 集合框架HashMap 的原理 ArrayList 的原理 LinkedList 的原理 fail-fast 是一种机制,当集合在迭代过程中被修改时,它会立即抛出 ConcurrentModificationException 异常。例如,在使用迭代器遍历集合时,如果集合被修改,迭代器会检测到并发修改,并立即抛出异常。fail-safe 是一种机制,它不会抛出 ConcurrentModificationException 异常。它通过创建集合的副本来进行迭代,因此对原始集合的修改不会影响迭代过程。 阅读详情

相关推荐

Unity 数字孪生笔记1 工具介绍

前言 工欲善其事必先利其器 流程思考 数字孪生本质上一种基于实际物理数据的可视化方案,通过对接实际数据,在三维界面中展示孪生结果。 那么这个流程就很简单了。 整个流程分为三块:数据来源-》数据分析-》数据展示 输入数据 首先我们需要考虑我们能拿到什么。第一,实际物体的三维数据从哪里来,第二,实际数据怎么获取到。 模型数据 工业上常常会用到CAD模型,CAD模型具有精确、统一的特点,但是CAD不是三角面片,我们不能直接导出到Unity中,而且导入之后有很多不合理的地方,例如面片杂乱、面数过高等问题。针对这个

Thissky的专栏 1万+

使用 iterator 迭代器删除集合元素为什么更好

举个例子:假设有一个ArrayList列表,包含如下元素:[1, 2, 3, 4, 5],现在使用for循环遍历该列表,并在遍历到第三个元素时,使用remove()方法删除该元素,在执行完第三次循环之后,列表中的元素发生了变化,变成了[1, 2, 4, 5],此时i的值为3,由于删除元素后索引前移, 索引3对应的值为元素5, 元素4就这样被跳过了。单线程情况下虽然没有并发修改异常,但如果在遍历集合时使用集合自身的方法进行修改,会导致集合的结构发生变化,后续元素的索引也发生变化,从而影响了遍历的结果。

Adeluoo的博客 1270

数据预处理之数据平滑处理#matlab

介绍基于 MATLAB 的数据平滑方法,主要介绍 smooth 函数、smoothts 函数和 medfilt1 函数的用法。

m0_56619132的博客 2417

深入理解集合的迭代器 Iterator,为什么遍历数组时删除元素不能直接使用remove()方法而需要使用迭代器?

本文介绍了Java中Iterator迭代器的基本概念与使用方法。主要内容包括:1. Iterator接口的核心方法hasNext()和next()的作用;2. 通过ArrayList示例演示迭代器的创建与遍历过程;3. 使用迭代器时的注意事项:不会报索引越界异常、不会自动复位、每次循环只能调用一次next()方法、遍历时不能使用集合方法修改集合元素。文章重点解析了迭代器遍历时修改集合会抛出ConcurrentModificationException异常的底层原理(modCount机制)。

m0_70325779的博客 3016

医疗AI新思路:为什么Graph Neural Network能改善气道分割的漏检问题?

本文探讨了Graph Neural Network(GNN)在医疗AI领域改善气道分割漏检问题的创新应用。通过分析3D UNet等传统方法的局限性,揭示了GNN在图结构建模中的独特优势,特别是在捕捉细小末梢支气管方面的突破性表现。文章详细介绍了UNet-GNN混合架构的设计原理、实验性能对比及优化方向,为CT影像分析提供了新思路。

weixin_30379531的博客 224

T113-S3-官方SDK分区添加

本篇文章将展示如何编译T113-S3的SDK以及在sdk中添加用户自定义分区,让您能够轻松地开始在您的项目中使用T113-S3芯片。T113-S3是一款功能强大的嵌入式处理器,适用于各种应用,包括物联网、工业自动化和智能家居等。T113-S3-SDK是特别为T113-S3芯片设计的软件开发工具包(Software Development Kit)。它包含了一系列用于开发和定制嵌入式应用程序的工具、库和示例代码,方便开发者在T113-S3平台上开展软件开发工作。

flypig has a dream! 2360

删除集合中特定元素的三种常规方法

可变数组的删除

Playepineapple的博客 5509

芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2134

Java Iterator 迭代器 遍历、删除元素

Iterator 迭代器 迭代器遍历方式, 适用于连续内存存储方式,比如数组、 ArrayList(其实 ArrayList底层实现也是数组形式)。 缺点是只能从头开始遍历, 优点是可以边遍历边删除 arraylist每次遍历的时候会去判断该集合是否被修改过,调用的方法是checkForComodification()。 如果被修改过ConcurrentModificationException异常。 如何判断是否修改呢,主要是通过维护2个变量来实现,modCount记录了修改次数,expectedMod

weixin_42408447的博客 5188

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 297

基于YOLOv11与相机标定的齿轮尺寸测量系统

本文详细介绍了一种基于深度学习的目标检测算法YOLOv11与相机标定技术相结合的齿轮尺寸自动测量系统。该系统能够实时检测图像中的齿轮目标,并精确测量其关键尺寸参数,包括齿顶圆直径、齿根圆直径、模数等。我们构建了完整的深度学习解决方案,包含数据采集与标注、模型训练、相机标定、尺寸测量算法以及用户友好的UI界面。本文提供了完整的代码实现,并推荐了相关的参考数据集,为工业视觉检测领域提供了实用的技术方案。关键词:YOLOv11;齿轮检测;尺寸测量;相机标定;深度学习;工业视觉python。

YOLO 411

遍历集合并需要删除元素的三种方式

遍历集合并需要删除元素的三种方式

小何的博客 1597

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java集合基础知识

当放入某个元素的时候,hashCode算出来要放入的位置,该位置存在元素,那么就以链表的方法放到下面,如果红黑树的情况下,map删除元素,当红黑树中的元素少于6个的时候,红黑树变成链表。所有的增删改查都是基于数组进行的。如果底层的数组元素满了,就要扩容,扩容1.5倍。Collection: 集合,是一个接口,继承了Iterable,里面有很多方法。remove(): 只能删除一个,如果有重复的数据,删除第一个。泛型: 指的就是容器中元素的数据类型。好处: 就是省去了获取元素的时候,类型转换。

2301_79080050的博客 86

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java集合

集合:存放引用数据类型的容器。主要学增删改查 Collection:集合,是一个接口,继承了Iterable,里面有很多方法 List:也是一个接口,继承了Collectio. 特点:有序,可以重复 Set:也是一个接口,继承了Collectio 特点:无序,不重复 Map: 泛型:指的就是容器中元素的数据类型。<数据类型>

xiaozhou4233的博客 78

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

集合(List、Set、Map)ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、HashMap

当创建ArrayList对象时,如果使用的是无参构造器,则elementDate初始容量为0,第一添加时,会扩容到10,再次扩容时elementDate容量会扩容到10*1.5=15,以此类推;扩容机制:创建Vector对象时,如果使用的是无参构造器,则elementDate初始容量为10,如果需要扩容时,会扩容到2倍,以此类推;如果使用的是有参构造器,则elementDate的初始容量为指定的大小,如果需要扩容时,则直接扩容为2倍,以此类推;以后再扩容,table和临界值都扩大两倍32和24,以此类推;

weixin_63172268的博客 1867

JavaSE进阶06:Collection集合、迭代器、List、ArrayList、LinkedList

1.时间日期类 1.1 Date类(应用) 计算机中时间原点 1970年1月1日 00:00:00 时间换算单位 1秒 = 1000毫秒 Date类概述 Date 代表了一个特定的时间,精确到毫秒 Date类构造方法 方法名 说明 public Date() 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 public Date(long date) 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 示例代码 publ

XXXZhy丶Blog 1412

Java 集合、迭代器

集合常用详解

qq_46598977的博客 1536

Java 集合(ArrayList、LinkedList、HashMap、HashSet、LinkedHashMap、LinkedHashSet)【补充复习】

Java 中的集合主要分为 Collection 和 Map 两大体系Collection 接口:Set:元素无序、不可重复的集合。List:元素有序、可以重复的集合。Map 接口:具有映射关系 key-value 的集合。

是微风,是晚霞,是无可替代 1660

Collection集合(ArrayList、LinkedList、HashSet、TreeSet)、Collection工具类、Map集合(HashMap、LinkedHashMap、TreeMa)

代码演示(压栈:push、弹栈:pop)// 1、创建一个队列。// 入队queue.addLast("第1号人");queue.addLast("第2号人");queue.addLast("第3号人");queue.addLast("第4号人");// 出队// 2、创建一个栈对象。// 压栈(push)stack.push("第1颗子弹");stack.push("第2颗子弹");stack.push("第3颗子弹");stack.push("第4颗子弹");

qq_21698517的博客 956

Java的集合框架简单学习笔记——Collection,ArrayList,LinkedList,HashSet,TreeSet,HashMap

Java的集合框架简单介绍 java中有一个由设计优良的接口和类组成的Java集合框架,以方便程序员操作成批的数据或对象元素,本文会讲解其中常用的一些接口的方法以及其应用 集合框架结构 这里只显示了Collection接口的一部分接口和Map接口下常用的HashMap接口,而这两个接口下还是有许多其他的接口的,本文没有介绍,读者有兴趣可以再去了解。 -----------------------...

人间世 371

Java基础学习总结:集合之(一)分类、Collection、List、ArrayList、LinkedList

Java 集合框架(容器)总结(一):集合的分类,所有单例集合的父接口 Collection ,以及其一个重要分支: LIst 接口 ,List集合的两个重要实现类:ArrayList 和 LinkedList。

Vaingloryss的博客 338

Java集合:Collection and Map;ArrayList;LinkList;HashSet;TreeSet;HashMap;TreeMap;Iterator:集合迭代器

集合入门;Java集合:Collection and Map;ArrayList;LinkList;HashSet;TreeSet;HashMap;TreeMap;Iterator:集合迭代器

weixin_72637723的博客 1152

collection面试总结[Hashmap扩容][Arraylist扩容]

编辑单列集合分为:list和set。

Teslass的博客 1986

Collection和Collections List ArrayList LinkedList Set HashSet Map HashMap 泛型

java笔记之集合Collection集合定义通用方法ArrayList定义创建ArrayList对象ArrayList的常用方法LinkedList定义创建LinkedList对象LinkedList的独有方法SetHashSet使用Iterator迭代器遍历HashSet获取到迭代器对象Iterator的方法MapHashMap创建对象:常用方法:遍历HashMap泛型定义本质作用泛型集合典型泛型集合Collections类Collections和Collection不同Collections提供的常用

weixin_45279447的博客 810

Collection集合(非常重要的一章,涉及到List、Set、Map,HashMap的底层源码分析,面试基本必问)

java基础的很重要的一章,集合,Collection,包括三大部分,list,map,set。涉及到这些的源码分析以及底层的数据结构实现。比如面试常考的HashMap的底层结构就是数组+链表+红黑树,如何扩容。掌握了这一章,面对一些需要自己设计数据结构的算法题会轻松一些。

m0_46335449的博客 1124
上一篇: 网络编程内容
下一篇: 集合{LinkedHashMap TreeMap HashSet LinkedHashSet TreeSet 快速失败机制 ConcurrentHashMap CAS 多线程协同扩容}(二)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值