集合
头发在风中哭泣
千里之行始于足下
展开
-
Map接口实现:HashMap
Map接口 1.Map用于存放具有映射关系的双列数据:key-value 2.Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中 3.Map中的key值不允许重复,value值可以重复,(key为null,只能有一个) 4.常用String类作为Map的key 5.key和vaule存在单向一对一关系,即通过指定的key总能找到对应的value Map常用方法 remove(Object key) 删除 size() 返回元素个数 isEmpty() 判断是否原创 2021-10-14 17:04:52 · 338 阅读 · 0 评论 -
Set接口实现:HashSet、LinkedHashSet
Set 1.无序(存放和取出的顺序不一致),没有索引,不能用普通for循环遍历 2.不允许重复元素,最多有一个null 3.取出的顺序固定,按hashCode排列 HashSet 1.HashSet的底层是HashMap,HashMap的底层是:数组+链表+红黑树 例:数组+链表 public class HashSet源码解析 { public static void main(String[] args) { //创建Node[] 数组 Node[] tab原创 2021-10-14 16:59:39 · 208 阅读 · 0 评论 -
List接口实现:ArrayList、LinkedList、Vector
#List List 介绍 list集合每个元素都对应索引,索引从0开始 list集合中元素有序(添加和取出顺序一致),可重复 常用方法 get 获取 set 修改 indexOf 返回在集合中首次出现的位置 lastIndexOf 返回在集合中最后一次出现的位置 subList 返回从fromIndex到toIndex位置的子集合,包括前面 List接口练习 使用 list接口实现类添加三本书,并遍历 要求: 1.按价格排序,从低到高(冒泡排序) public clas原创 2021-10-14 16:52:30 · 454 阅读 · 0 评论 -
HashMap源码分析
Map接口 1.Map用于存放具有映射关系的双列数据:key-value 2.Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中 3.Map中的key值不允许重复,value值可以重复,(key为null,只能有一个) 4.常用String类作为Map的key 5.key和vaule存在单向一对一关系,即通过指定的key总能找到对应的value Map常用方法 remove(Object key) 删除 size() 返回元素个数 isEmpty() 判断是否原创 2021-10-14 11:01:07 · 92 阅读 · 0 评论 -
ArrayList扩容源码分析
ArrayList的底层操作机制 1.ArrayList中维护了一个Object类型的数组elementData 2.当创建ArrayList对象时,如果使用的是无参构造器,则初始elementData的容量为0,第一次添加则扩容elementData为10,如需要再次扩容,则扩容elementData为1.5倍 3.如果使用的是指定大小的构造器,则初始elementData容量为指定大小,如果需要扩容,则直接扩容elementData的1.5倍 源码分析 ...原创 2021-09-24 16:17:16 · 132 阅读 · 0 评论