《Java工程师必读手册》——Java编程技巧系列——Java编程技巧之数据结构(3)

简介: 《Java工程师必读手册》——Java编程技巧系列——Java编程技巧之数据结构(3)
+关注继续查看

接上篇:https://developer.aliyun.com/article/1228149?spm=a2c6h.13148508.setting.26.21084f0eNCKPti


四、 使用Pair实现成对结果的返回

 

在C/C++语言中,Pair(对)是将两个数据类型组成一个数据类型的容器,比如std::pair。

 

Pair主要有两种用途:

 

• 把key和value放在一起成对处理,主要用于Map中返回名值对,比如Map中的Entry类;

• 当一个函数需要返回两个结果时,可以使用Pair来避免定义过多的数据模型类。

 

第一种用途比较常见,这里主要说明第二种用途。

 

1. 定义模型类实现成对结果的返回

 

函数实现代码

 

image.png 

函数使用案例

 

image.png 

 

2. 使用Pair类实现成对结果的返回

 

在JDK中,没有提供原生的Pair数据结构,也可以使用Map::Entry代替。不过,Apache的commons-lang3包中的Pair类更为好用,下面便以Pair类进行举例说明。

 

函数实现代码

 

image.png

 

函数使用案例

 

image.png

 

此外,还有Triple类可以支持三个对象一起返回。

 

五、 定义Enum类实现取值和描述

 

在C++、Java等计算机编程语言中,枚举类型(Enum)是一种特殊数据类型,能够为一个变量定义一组预定义的常量。在使用枚举类型的时候,枚举类型变量取值必须为其预定义的取值之一。

 

1. 用class关键字实现的枚举类型

 

在JDK5之前,Java语言不支持枚举类型,只能用类(class)来模拟实现枚举类型。

 

image.png 

 

2. 用enum关键字实现的枚举类型

 

JDK5提供了一种新的类型——Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常量使用,这是一种非常有用的功能。

 

image.png 

 

其实,Enum类型就是一个语法糖,编译器帮我们做了语法的解析和编译。通过反编译,可以看到Java枚举编译后实际上是生成了一个类,该类继承了java.lang.Enum,并添加了values()、valueOf()等枚举类型通用方法。

 

 接下篇:https://developer.aliyun.com/article/1228147?groupCode=java

相关文章
|
4月前
|
Java 测试技术 Maven
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(1)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(1)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(2)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(2)
|
4月前
|
Java 测试技术 Spring
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(3)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(3)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(4)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(4)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(5)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(5)
|
4月前
|
JSON Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(6)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(6)
|
4月前
|
Java 测试技术 编译器
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(7)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(7)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(8)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(8)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(9)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(9)
|
4月前
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(10)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(10)
热门文章
最新文章
推荐文章
更多