java8 steam遍历分类返回两个数组
时间: 2023-07-13 20:27:41 浏览: 146
可以使用Java 8中的Stream API来实现分类遍历并返回两个数组。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva", "Frank");
// 使用Stream API对names进行分类
Map<Boolean, List<String>> result = names.stream()
.collect(Collectors.partitioningBy(name -> name.length() > 4));
// 将分类结果转换为两个数组
List<String> longNames = result.get(true);
List<String> shortNames = result.get(false);
String[] longNamesArray = longNames.toArray(new String[longNames.size()]);
String[] shortNamesArray = shortNames.toArray(new String[shortNames.size()]);
// 输出两个数组
System.out.println("Long names: " + Arrays.toString(longNamesArray));
System.out.println("Short names: " + Arrays.toString(shortNamesArray));
}
}
```
这段代码将names列表中长度大于4的名字和长度小于等于4的名字分别放入两个列表中,并将它们转换为两个数组。输出结果如下:
```
Long names: [Alice, Charlie, David]
Short names: [Bob, Eva, Frank]
```
阅读全文