理解并实践Java 8的流和收集器问题案例
Java 8引入了新的流( Streams )和收集器( Collectors )来简化数据操作。以下是一些问题案例以及其解决方案:
问题:如何对数组中的元素进行分组?
解决方案:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class GroupExample {
public static void main(String[] args) {
// 示例数据
String[] data = {"apple", "banana", "orange", "grape"};
// 分组操作
List<String> groups = Arrays.stream(data)
.collect(Collectors.groupingBy(String::length)));
// 输出结果
System.out.println("Groups by length:");
for (String group : groups) {
System.out.println("- " + group);
}
}
}
问题:如何对集合中的元素进行去重操作?
解决方案:
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class UniqueExample {
public static void main(String[] args) {
// 示例数据
String[] data = {"apple", "banana", "orange", "banana", "grape"};
// 去重操作
Set<String> uniqueSet = new HashSet<>(Arrays.asList(data));
// 输出结果
System.out.println("Unique elements in the array:");
for (String element : uniqueSet) {
System.out.println("- " + element);
}
}
}
以上就是Java 8流和收集器问题案例的理解及实践。
还没有评论,来说两句吧...