Java 应用性能优化!Java- 进阶:集合框架 1
//java 自动装箱 arrayList.add(1); //将基本数据类放入集合中
2. 第二类:针对集合的操作(一次操作多个元素)
boolean addAll(Collection c)
:将指定 collection 中的所有元素都添加到此 collection 中.boolean removeAll(Collection c)
:移除此 collection 中那些也包含在指定 collection 中的所有元素boolean containsAll(Collection c)
:如果此 collection?包含指定 collection 中的所有元素,则返回 trueboolean retainAll(Collection c)
:仅保留此 collection 中那些也包含在指定 collection 的元素。如果此 collection 由于?调用?而发生更改,则返回?true,否则返回?false
三、集合元素的遍历
1. 第一种遍历方式: 将集合转化为数组
2. 第二种遍历方式: 通过迭代器遍历集合中的所有元素(集合专用)
后面详细介绍
四、Iterator 接口 (迭代器)
1. 迭代器概述
Collection
?集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为?迭代。每种集合的底层的数据结构不同,例如?
ArrayList
?是数组,LinkedList
?底层是链表,但是无论使用那种集合,我们都会有判断是否有元素,以及取出里面的元素的动作,那么 Java 为我们提供一个迭代器定义了统一的****判断元素和取元素的方法Collection 接口定义的?
iterator()方法
?用来返回基于当前数据集合的迭代器对象。迭代器对象是?依赖当前数据集合的
Iterator 为什么不是定义成一个类,而是接口??因为:功能上没什么问题,但是由于一旦把针对不同具体集合的生成迭代器的方法,放在一个类中,通常,各个不同的迭代器的方法,可能会有一些公共行为,被抽成一个方法。就会因为一些公共操作的存在,产生错综复杂的联系,形成?上帝类(God Class)?啥都管,很难维护
迭代器的优点:
迭代器是一个接口,每一个具体的集合类都实现了 Iterator 接口,能够返回一个针对自己的存储结构的具体的 Iterator 接口的实现子类。Iterator 向上层的使用者,屏蔽了具体的底层集合类的实现细节,使用方法都一样
2. Iterator 接口的抽象方法
boolean hasNext()
:判断集合中还有没有可以被取出的元素,如果有返回?truenext()
:取出集合中的下一个元素remove()
?: 删除集合中当前访问的元素
3. 遍历的代码实现
4. 实现原理
5. 一个例题:遍历对象
题目:存储自定义?对象?并遍历,Student(name,age)
总结:绘上一张 Kakfa 架构思维大纲脑图(xmind)
其实关于 Kafka,能问的问题实在是太多了,扒了几天,最终筛选出 44 问:基础篇 17 问、进阶篇 15 问、高级篇 12 问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对 Kafka 的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind 不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读 kafka 以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
Kafka 入门
为什么选择 Kafka
Kafka 的安装、管理和配置
Kafka 的集群
第一个 Kafka 程序
Kafka 的生产者
Kafka 的消费者
深入理解 Kafka
可靠的数据传递
Spring 和 Kafka 的整合
SpringBoot 和 Kafka 的整合
Kafka 实战之削峰填谷
数据管道和流式处理(了解即可)
评论