推广 热搜:   企业  系统  中国  行业  公司  教师  设备    服务 

集合(未完结)

   日期:2024-11-24     浏览:95    移动:http://xiaoguoguo.dbeile.cn/mobile/quote/1227.html

(1)可以动态保存任意多个对象,使用比较方便(2)提供了一系列方便的操作对象的方法:add、remove、set、get等 (3)使用集合添加、删除新元素的示意代码

集合(未完结)

集合主要是两组(单列集合 , 双列集合

Collection 接口有两个重要的子接口 List Set,他们的实现子类都是单列集合

在这里插入图片描述 Map 接口的实现子类 是双列集合,存放的 K-V(键值对在这里插入图片描述

Collection 接口常用方法,以实现子类ArraryList来演示

 

collection接口遍历元素方式1-使用literator(迭代器)

(1)Iterator对象成为迭代器,主要用于遍历Collection集合中的元素 (2)所有实现了Collection接口的集合类都有一个iterator)方法,用以返回一个实现了Iterator接口的对象,既可以返回一个迭代器。 (3)Iterator 仅用于遍历集合,Iterator本身并不存放对象

迭代器的执行原理

Iterator iterator = coll.iterator(); //得到一个集合的迭代器 //hasNext() 判断是否还有下一个元素 while(iterator.hasNext()){ //next()作用: 1.下移 2.将下移以后集合位置上的元素返回 System.out.println(iterator.next()); }

 

collection接口遍历元素方式2-增强for循环

增强for循环,可以代替iterator迭代器,特点:增强for就是简化版的iterator,本质一样。只能用于遍历集合或数组

  • 基本语法 for(元素类型 元素吗 : 集合名或数组名){ 访问元素 }

1.使用增强 for,在Collection集合 2.增强for, 底层仍然是迭代器(可以用断点一步一步看) 3.增强for可以理解成就是简化版本的 迭代器遍历 4.快捷键方式 I

for (Object book : col){ System.out.println(“book=” + o) }

 

(1)ArraryList中维护了一个Obejct类型的数组elementDatahttps://blog.csdn.net/please93/article/details//存储的值是放在elementData数组的 transient Object[] elementData; //transient 表示瞬间,短暂的,表示该属性不会被序列化 (2)当创建ArraryList对象时,如果使用的时无参构造器,则初始elementData容量为0,第1次添加,则扩容elementData为10,如需要再次扩容,则扩容elementData为1.5倍 (3)如果使用的是指定大小的构造器,则初始elementData容量为指定大小,如果需要扩容,则直接扩容elementData为1.5倍

让我们通过这段代码进入ArrayList的底层一起去看看吧

 

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

(1)linkedList底层维护了一个双向链表 (2)linkedList中维护了两个属性first和last分别指向 首节点和尾节点 (3)每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过prev指向前一个,通过next指向后一个节点。最终实现双向链表 (4)所有linkedList的元素的添加和删除,不是通过数组完成的,相对来说效率较高。

linkedList的底层代码刨析(add添加值在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 linkedList的底层代码刨析(remove在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

(1)无序 (添加和取出的顺序不一致,没有索引 (2)不允许重复元素,所以最多包含一个null

和List接口一样,Set接口也是Collection的子接口,因此,常用方法和Collection接口一样

同Collection的遍历方式一样

HashSet的全面说明 (1)HashSet实现了Set接口 (2)HashSet实际上是HashMap

 

(3)可以存放null值,但是只能有一个null (4)HashSet不保证元素是有序的,取决于hash后,再确定索引的结果。 (5)不能有重复元素/对象。在前面Set 接口使用已经讲过 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

本文地址:http://xiaoguoguo.dbeile.cn/quote/1227.html    多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号