当前位置: 首页 > news >正文

集合框架(重点)

1. 什么是集合框架

List有序插入对象,对象可重复

Set无序插入对象,对象不可重复(重复对象插入只会算一个)

Map无序插入键值对象,键只唯一,值可多样

(这里的有序无序指的是下标,可以理解为List可以通过for [i] 循环来遍历集合,每个xxx[i]对应一个对象)

2. List接口(ArrayList和LinkedList)

ArrayList和我们之前学过的数组差不多,util提供的方法也与数组类似

LinkedList则是Node来进行连接,util提供的方法和数组完全不同

ArrayList添加&删除举例:

添加:

删除:

LinkedList添加&删除举例:

List接口常用方法

LinkedList的特殊方法

3. Set接口

这里打印的结果是2,因为s1和s2是一样的数据,那么set是如何判断对象已经存在的呢?

引申:== 仅涉及内存地址比较;equals计算哈希值和内容比较

比如:String word = “一”;         String word1 = “一”;         这时word == word1 会返回false,因为这相当于是创建了一个word内存地址和一个word1的内存地址,两者内存地址不同。而word.equals(word1)会返回true,因为两者内容一致。

 

4. Map接口

通俗来讲就是CN -> 中华人民共和国, Ru ->俄罗斯联邦 ,其中CN,RU是键(key),中国和俄罗斯是值(value)

Map接口常用方法

5. 迭代器Iterator

迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。

迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。

 

!我刚才提到,Map集合是无序的,无法通过for[i]进行遍历,所以我们才需要使用iterator或者增强for循环!

所以我们可以吧iterator理解成一个新型的for循环来帮助我们遍历无序集合的数据,同时iterator也提供了很多方法,我们以后会继续深入。

6. 泛型集合

通俗来讲,我们可以标记这个集合的元素类型,这样我们在对集合内对象进行处理时就不用每次都使用强转了,而且如果我们错误的处理一些数据,代码也是会提示我们是错误的需要修改。

7.总结

课后练习:

List基础与难度题-CSDN博客

尝试改写数组题目:题目:宠物医院管理系统业务需求及编程要求-CSDN博客

相关文章:

  • ThreadLocal - 原理与应用场景详解
  • 解决IDEA创建SpringBoot项目没有Java版本8
  • 冠珠瓷砖X2025佛山潭洲陶瓷展主题论坛·AI+未来专场精彩回顾
  • javase 学习
  • Linux驱动开发--异步通知与异步I/O
  • Linux——SSH
  • Transformer系列(二):自注意力机制框架
  • 算法篇之单调栈
  • 如何一键批量删除多个 Word 文档中的页眉和页脚
  • 656SJBH重金属音乐点歌系统
  • Linux下加载可执行文件所在目录下的so的方法
  • rk3568build-linux.sh解析
  • 项目二 - 任务7:统计一组学生成绩
  • 【计量地理学】实验七 多种地统计方法的插值比较
  • Cribl 对Windows-xml log 进行 -Serialize-05
  • 王博:影视领域的多元创作先锋,以卓越才华开启新篇章
  • 如何编写JavaScript插件
  • MySQL-锁机制3-意向共享锁与意向排它锁、死锁
  • 从入门到精通汇编语言 第六章(中断及外部设备操作)
  • ONLYOFFICE深度解锁系列.3-OnlyOffice集成第三方软件原理揭秘:如何提高文件打开速度
  • 宇树的任务已经完成?王兴兴也在等待行业拐点
  • 广西出现今年首场超警洪水
  • 商务部新闻发言人就美国以关税手段胁迫其他国家限制对华经贸合作事答记者问
  • 义乌女老板对CNN霸气喊话:美国要货就给,不要就分给其他客户
  • “站在亚洲实现整体振兴的新起点上”——习近平主席对越南、马来西亚、柬埔寨进行国事访问纪实
  • 一季度全社会用电量同比增长2.5%,3月增速显著回升