【无标题】

java中的集合框架(上)

现实生活中:很多的事物凑在一起        有理数

数学中的集合:具有共同属性的事物的总体        整数

Java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象

集合的作用

        *在类的内部,对数据进行组织;

        *简单而快速的搜索大数量的条目;

        *有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;

        *有的集合接口,提供了映射关系,可以通过关键字9key

)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

与数组的对比——为何选择集合而不是数组

        *数组的长度固定,集合长度可变

        *数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。

Collection接口&List接口简介

Collection接口

        是List、Set和Queue接口的父接口

        定义了可用于操作List、Set和Queue的方法——增删改查

List接口及其实现类——ArrayList

        List是元素有序并且可以重复的集合,被称为序列

        List可以精确的控制每个元素的插入位置,或删除某个位置元素

        ArrayList——数组序列,是List的一个重要实现类

        ArrayList底层是由数组实现的

学生选课

1.创建学生类和课程类,定义String类型的两个变量  一个 id  一个name   然后创建了一个含参构造器   使用this方法将新创建的参数赋予传入的值

2.添加课程

a.使用List储存    新建一个类    使用this 来new对象 ArrayList()  储存容器  

创建一个课程对象,并调用add返回,添加备选课程

 new对象  调用对象名的  add  来获取课程

b.add改成了addAll来添加数据  同样是使用强制转换将原来的Object来转换成相应的数据

3.课程查询 

方法一.使用get方法来获取课程  ​​​​​​然后使用for循环  获得学生课程   再打印输出就可以  在主方法中来使用方法   

方法二.迭代器   再是使用迭代器来 wheil循环   通过hasnext来判断是否有下一个  然后在使用next方法来获取   知道hasnext判断没有下一值  结束循环  再打印输出

方法三. foreach循环来 输出课程   使用for循环  Object循环遍历集合  使用强制类型转换    因为类型屎 Object类  所以要使用强制类型转换来转换相应的类型

4.课程修改及删除

修改:使用set方法来修改对象  

删除:

使用remove方法删除   先是使用get方法来读取指定内容中的元素  再 传入到remove方法中删除    

removeAll方法  

泛型

为什么要使用泛型。如果在集合里添加的类型不同的话   比如 一开始是int类型  后面传入的参数是 String类型的话  java就会抛出异常   会报错

泛型的使用的话   泛型只能储存同一种类型的才能使用  如果不是同一类型的话  就会抛出异常  

可以在<>中定义指定类型    规定了指定类型  调用时就不需要使用强制类型转换  

5.应用泛型管理课程

需要继承父类  一开始子类中是不可以使用无参构造方法  需要在父类中 先定义一个无参器  子类中才能使用无参构造方法   泛型不能使用基本数据类型  需要使用基本类型的包装类 才不会报错

 再去调用方法 就可以打印输出   如果不是的话 就会报错  

6.通过set集合管理课程

Set是不能使用get方法来读取里面的数量 因为Set集合是没有序列的  只能使用for循环 或者迭代器来 把他循环遍历出来 

Set接口及其实现类——HashSet

        Set是元素无序并且不可以重复的集合,被称为集

        HashSet——哈希类,是Set的一个重要实现类

java中的集合框架(中)

5-1Map&HashMap简介

HashMap类

        HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现

        HashMap中的Entry对象是无序排列的

        Key值和value值都要可以为null,但是一个HashMap只能有一个key值为null

的映射(key值不可重复)

7.使用Map添加学生

创造一个Scanner扫描器对象来获取学生从键盘中输入的值    在使用for循环来遍历  再使用get方法获取 学生的id  再使用for循环来判断是学生输入的数  是否为空   如果为空的话  就是用next获取学生输入的名字 再new对象来创建一个新的对象  需要传入两个参数  也是键值对  一个是传入一个  int类型和一个String类型  然后储存学生的信息

ketSet方法  返回Map中的所有“键”的Set集合 

8.修改和删除map中的学生

修改:创建一个Scanner来获取学生中键盘中输入的值  在使用if语句来判断是否有学生的信息    还是跟Set一样使用remove来删除指定信息   先是运行前面的操作 如果显示有学生的信息 就使用remove语句来删除学生的信息

删除:创建一个Scanner来获取学生从键盘中输入的值   使用while循环来   然后使用next方法   再是使用if语句来判断是否为空 如果为空的话 就打印输出     如果显示没有的话 就需要创建一个学生id    就需要提供新的已经存在的学生姓名   再是使用Scanner来获取键盘上输入的值  调用put方法来修改信息 

java中的集合框架(下)

判断set中课程是否存在

使用get方法选择指定位置是否是该课程     使用cantains方法来判断是否包含该课程 如果是的话就打印 然后再输出是否有相应课程   再看情况打印出  true或者false

new一个对象    然后再是创建一个Scaner获取从键盘中输入的值  再使用for循环来遍历  再是时使用next方法来到下一个  使用cantains方法来判断是否包含该课程

Collection工具类

Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员。sort()(排序)方法。

Collections工具类 是java集合框架中,用于操作对象的工具类  也是java集合框架的成员  

其中有sort(排序)方法

泛型是不能使用基本数据类型的   如果使用的话就会报错    需要使用相应的包装类  

需要插入十个100以内的不重复的整数   需要使用for循环来操作    为了保证不重复需要嵌套do...wheil循环    为了do...wheil循环中保证其中的数不重复 需要使用contains来处理

添加成功后需要使用foreach循环来去迭代每一个元素  然后打印输出  调用cCoolections的sort方法 ()括号内需要传入你想排序的变量名  然后再主方法new对象 然后调用方法Sort方法  再输出 这样的话就先排序好的顺序  

Comparable和Comparator

Comparable接口——可比较的

        1、实现该接口表示:这个类的实例可以比较大小,可以进行自然排序

        2、定义了默认的比较规则。

        3、其实现类需实现compareTo()方法。

        4、compareTo()方法返回正数表示大,负数表示小,0表示相等。

Comparator接口——比较工具接口

        1、用于定义临时比较规则,而不是默认比较规则

        2、其实现类需要实现Compare()方法

        3、Comparator和Comparable都是Java集合框架的成员

8.实现学生序列排序

实现Comparable接口  需要设为一样的泛型    需要使用相应的方法   如果小的话 就会输出正整数  如果大的话  就会输出负整数  如果相等的话就会输出0  然后先创建一个对象 要把名字改为字符串类型  id需要改成一千以内的正整数  再是调用该方法   然后输出 就会输出该结果   输出出来的   都是按照id的正整数来排列的       排序规则是 先数字后字母  数字0~9字母a~z的顺序    数字是先从第一位数字来排序的 

动物目标检测数据集 一、基础信息 数据集名称:动物目标检测数据集 图片数量: - 训练集:9,134张图片 - 验证集:1,529张图片 - 测试集:1,519张图片 总计:12,182张图片 分类类别: Bear(熊)、Cat(猫)、Cattle(牛)、Chicken(鸡)、Deer(鹿)、Dog(狗)、Elephant(大象)、Horse(马)、Monkey(猴子)、Sheep(绵羊) 标注格式: YOLO格式,包含归一化坐标的边界框和数字编码类别标签,支持目标检测模型开发。 数据特性: 涵盖俯拍视角、地面视角等多角度动物影像,适用于复杂环境下的动物识别需求。 二、适用场景 农业智能监测: 支持畜牧管理系统开发,自动识别牲畜种类并统计数量,提升养殖场管理效率。 野生动物保护: 应用于自然保护区监控系统,实时检测特定动物物种,辅助生态研究和盗猎预警。 智能养殖设备: 为自动饲喂系统、健康监测设备等提供视觉识别能力,实现精准个体识别。 教育研究工具: 适用于动物行为学研究和计算机视觉教学,提供标准化的多物种检测数据集。 遥感图像分析: 支持航拍图像中的动物种群分布分析,适用于生态调查和栖息地研究。 三、数据集优势 多物种覆盖: 包含10类常见经济动物和野生动物,覆盖陆生哺乳动物与家禽类别,满足跨场景需求。 高密度标注: 支持单图多目标检测,部分样本包含重叠目标标注,模拟真实场景下的复杂检测需求。 数据平衡性: 经分层抽样保证各类别均衡分布,避免模型训练时的类别偏差问题。 工业级适用性: 标注数据兼容YOLO系列模型框架,支持快速迁移学习和生产环境部署。 场景多样性: 包含白天/夜间、近距离/远距离、单体/群体等多种拍摄条件,增强模型鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值