AbstractMap底层进攻

**

HashMap父类AbstractMap粗略了解:

**
为什么要了解AbstractMap,因为HashMap是AbstractMap的子类,承前启后
建议源码和文章一起看,看不懂英文的推荐使用网易有道词典

这个类提供了Map框架的实现接口,以最小化实现接口所需要的工作

实现一个不可修改的映射,程序员只需要实现它的子类,并未entrySet方法提供一个实现方案

Map中有个内接口,用于存储数据,AbstractMap中的entrySet中的Entry类实现了该接口,并且entry使用的是Set存储,所有map是无序的

AbstractMap不支持添加或者删除方法及其迭代器

方法实现及作用:
基本操作
entrySet(): 数据集,未实现
size():数据集的长度
isEmpty():判断entrySet()的size()是否等于0
containsValue(V):iterator迭代entrySet(),判断value是否存在,返回布尔类型
containsKey(K):iterator迭代entrySet(),判断key是否存在,返回布尔类型
get(K):iterator迭代的方式判断key是否存在,不存在返回null

修改操作
put(K,V):添加entry,未实现
remove(K):删除entry未实现

批量操作
putAll(map):遍历map的entrySet()进行put操作
clear():entrySet()清除所有entry

视图
keySet():返回AbstractSet的子类,使用·基本操作·覆盖AbstractSet的iteratoc()、size()、isEmpty()、clear()、contains();保证了key的唯一
values():返回AbstractCollection的子类,使用·基本操作·覆盖AbstractSet的iteratoc()、size()、isEmpty()、clear()、contains();value可以重复

比较hash值
hashCode():返回entrySet()中所有的entry相加的hash值

其他
Transient:用于修饰变量,当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件读取字节序列进行重构),这样的实例变量值不会被持久化和恢复。例如,当反序列化对象——数据流(例如,文件)可能不存在时,原因是你的对象中存在类型为java.io.InputStream的变量,序列化时这些变量引用的输入流无法被打开。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值