您的位置  > 互联网

凯哥学堂VIP学员公开笔记之intfield的集合框架

集合框架 1. 枚举

枚举是在JDK1.5之后才出现的。 泛型主要解决描述集合中存储什么类型的对象的问题。 枚举有什么用?

枚举专门用于 Java 中的选择。 首先搭建maven环境:

配置的环境如上。 我们回想一下类下的get方法。 它的参数是int字段。 其实初衷就是我们传入年、月、日、时、分、秒的参数来获取对应的值。 然而,其参数的变量名字段并没有明确描述应该向该参数传递什么值。 像这样的整型参数变量,描述不清晰(不是、、等含义明确的变量)。 我们当不知道传入什么参数值时,通常可以检查类中定义了哪些常量,然后将类中定义的常量(常量标识符代表某个int值)作为参数值传入,比如这里使用get方法,可以传入一个常量值如.YEAR来获取年份。

但一开始我们并不知道这个int字段的参数应该传入类中定义的常量标识符,所以Java引入了枚举来解决这个问题。

枚举是一个选择器。 例如,如果你的方法的参数类型被限制为 A/B/C/D/E/F 这六个对象,你可以定义一个枚举选择器的类型,将 A/B/C/D/E/ 这六个对象改为写入F,然后将方法中的参数写入Type t。 使用方法的时候,当你触摸t的时候,你就会知道参数是一个枚举,同时你也会知道参数类型是在什么之间选择。 如下:

如上所述,使用枚举可以清楚地知道哪些对象应该作为参数传入。 相反,如果你写int,变量名的定义不清楚,你就会不知道要传入什么参数值。

那么我们方法的参数就是枚举方法,我们可以在方法中做一些选择逻辑处理:

您可以在枚举中编写构造函数和方法。 构造函数必须是私有的,但是将构造函数和方法写在枚举中是没有意义的:

添加通用循环:

这里的 for-each 循环实际上是由迭代器完成的。 采集工具类:

了解 JDK API?

什么是API,就是Java中官方公布的所有操作类,这些类中的方法,以及一些简单的小案例。 它是帮助和文档。

在线中文API、百度输入JDK API

通常拿API来看看某个操作类下的一些方法,它们是如何使用的,以及它们用来完成什么功能。

采集工具类:

集合工具类中的大部分方法对List集合执行相应的功能操作:

1、混合、打乱。(表l);

这种加扰方法每次运行都会产生不同的结果。 排序方法.sort(List l):

其实上面可以直接排序是有原因的。 那是因为它实现了接口中的方法,所以可以直接排序。 我们自己定义一个类,看看能不能直接排序?

我们自己写的类一开始并没有实现该接口。 使用sort方法比较不同对象时,会报错。 这是肯定的,因为您没有实现的接口,并且它不知道要根据什么进行比较。 然后我们要实现该接口:

如上所示,我们的类实现了接口后,重写方法,然后就可以使用sort方法来进行直接排序了。

.批量添加数据:

.() 替换集合中的数据:

.() 搜索对象位于哪个索引下:

.() 反转集合中的对象:

.fill() 替换全部,将集合中的所有对象替换为某个对象:

.copy() 复制,将一个集合的数据复制到另一个集合。 目标集合的长度至少要大于源集合的长度,否则会报错。 如果源集合的长度小于目标集合的长度,则源集合中的数据将覆盖目标集合中之前的部分数据:

还有许多其他方法。 以后需要使用时可以参考JDK API文档进行查询。

Map集合:两列集合,一主键,一值。 也称为键值对集,一键一值。

在键值对集合中,键不能重复,但值可以重复,因为我们的值检索、值检查、值删除都是基于主键的。 如果两个或多个主键相同,则无法获取该值或删除该值。 检查值、删除值等操作。

Map集合的结构: 有以下两个集合。 Map集合中的主要方法如下: 该集合继承并实现了Map接口。 它不是线程安全的,而是线程安全的。

方法和方法几乎一样,只看里面的方法:

如上所示,当多个主键相同时,如果获取值,则获取的是最后一个。

主键和值都不能为空。

主键或值可以为空。

取出集合中所有的值,使用方法(),返回值是一个集合对象,然后使用for-each循环取出集合中的所有数据。 如果这是一个集合, ,取出来的数据是乱的,如果是,取出来的数据是有序的:

要取出集合中的所有键,请使用方法 ()。 该方法的返回值是Set集合对象,然后使用for-each循环取出Set集合中的所有数据。

如上图,如果使用的话,取出的按键是无序的,而取出的按键是有序的。 键值方法()一起使用。 它的返回值是一个Set。 Set集合存储Entry实体。 然后使用 for-each 循环取出集合中的所有实体对象数据 :

如上所示,取出的键值对是无序的,而取出的键值对是有序的。

还有size()、()、()、()、clear()等方法,使用方法如上。