小白自学:工具类之集合的使用

集合

概念

定义:java中的集合是工具类可以存储任意数量的具有共同属性的对象,简单来说集合就是容器,用于存储相同特征的事物。

使用场景:1.无法预测存储数据的数量。

2.同时存储具有一对一关系的数据。

3.需要进行数据的增删。

4.数据重复问题。

体系结构

image-20201229221413003

List(列表)

定义:List是元素有序且可以重复的集合称为序列,List可以精准控制每个元素插入位置,或删除某个位置的元素,List的两个主要实现类是ArrayList和LinkedList

ArrayList

ArrayList底层由数组实现,动态增长,以满足应用程序的需求

在列表尾部插入或删除元素非常有效,更适合查找和更新元素

ArrayList中的元素可以为null。

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

Set

set是元素无需且不可以重复的集合,被称为集

HashSet

1.HashSet是Set的一个重要实现类,称为哈希集

2.HashSet的元素无序七点不可以重复

3.Hashset中只允许一个null元素

4.具有良好的存取和查找功能

构造方法

image-20201229140729011

迭代器

image-20201229141538216

image-20201229142620844

image-20201229142649714

案例

需求

image-20201229142820216

类的构建

image-20201229142902684

image-20201229142924524
equals方法用于比较对象

重写equals方法前

image-20201229150029441

image-20201229150041936

重写equals方法后

image-20201229150115944

image-20201229150138466

image-20201229150203641

插入一个对象

image-20201229153819421

image-20201229153837091

查找花花

image-20201229153531740

输入信息和set集合,在集合中查找是否存在对象.getName()==信息

image-20201229153645156

删除单个猫

image-20201229153955212

image-20201229155338074

image-20201229155351274

删除所有猫

image-20201229160201539

image-20201229160212649

泛型

JDK5.0之后引进,用于控制对象的类型,之前都是按照object类类型使用时需要转换,如Cat c=(Cat)xxx对象,我们必须知道这个对象是猫类对象才能比较,否则会报错

BUG

image-20201229161720424

解决办法

1.如果删除单个对象在删除语句后添加break

2.删除多个对象先将要删除对象添加成一个集合使用,对象集合.removeALL(要删除对象集合)

Map

Map中的数据是以键值对的形式存储的

Key-value以Entry类型的对象实例存在

可以通过key值快速查找value

一个映射不能包含重复的键,键不重复,值可以重复

HashMap

1.基于哈希表的Map接口的实现。

2.允许使用null值和null键。

3.key值不可重复。

4.HashMap中的Entry对象是无序排列的。

HashMap构造方法

image-20201229162959363

案例1

image-20201229163341622

image-20201229165345997

image-20201229165402548

image-20201229170145755

image-20201229170209266

可以使用map.entrySet().iterator()

image-20201229171047883

image-20201229171058586

案例2

需求

image-20201229171907665

image-20201229172000944

image-20201229175953778

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值