Java foreach去除数组中的空值
在日常的开发工作中,我们经常需要处理数组中的数据。有时候数组中会存在一些空值,我们需要将这些空值去除掉,只留下有效的数据。本文将介绍如何使用Java中的foreach循环来去除数组中的空值,并提供相应的代码示例。
foreach循环简介
在Java中,foreach循环是一种用于遍历数组或集合的简便方式。它可以让我们遍历数组中的每个元素,而不需要显式地指定索引。foreach循环的语法格式如下:
for (元素类型 元素变量 : 数组名) {
// 循环体
}
在循环的每次迭代中,元素变量将依次指向数组中的每个元素,直到遍历完整个数组。
去除数组中的空值
假设我们有一个包含一些字符串的数组,其中可能会有一些空值。我们希望去除这些空值,只保留有效的字符串。下面是一个示例数组:
String[] arr = {"Java", "", "Python", null, "C++", "PHP", ""};
我们可以使用foreach循环遍历这个数组,并在遍历过程中将空值去除。下面是完整的示例代码:
List<String> list = new ArrayList<>();
for (String str : arr) {
if (str != null && !str.isEmpty()) {
list.add(str);
}
}
String[] result = list.toArray(new String[0]);
System.out.println(Arrays.toString(result));
在上面的代码中,我们首先创建了一个空的列表list,然后使用foreach循环遍历数组arr。在循环的每次迭代中,判断当前元素是否不为null且不为空字符串,如果满足条件就将该元素添加到列表中。最后,我们将列表转换为数组并打印出结果。
序列图
下面是一个简单的序列图,展示了上述代码的执行过程:
sequenceDiagram
participant A as 输入数组arr
participant B as 创建空列表list
participant C as 遍历数组arr
participant D as 判断当前元素是否为空
participant E as 将非空元素添加到列表
participant F as 转换列表为数组result
participant G as 打印结果
A->B: 创建
B->C: 开始遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->C: 继续遍历
C->D: 循环体
D->E: 判断
E->F: 转换
F->G: 打印
状态图
最后,我们再来看一个状态图,展示了去除空值的过程:
stateDiagram
[*] --> 初始状态
初始状态 --> 遍历数组
遍历数组 --> 判断是否为空值
判断是否为空值 --> 添加到列表
添加到列表 --> 继续遍历
继续遍历 --> 判断是否为空值
判断是否为空值 --> 添加到列表
添加到列表 --> 继续遍历
继续遍历 --> 判断是否为空值
判断是否为空值 --> 添加到列表
添加到列表 --> 转换为数组
转换为数组 --> 打印结果
通过以上示例代码和图示,我们可以清