要求共通方法返回Pair<Stream<T>,Stream<U>>,java8写一个demo
时间: 2024-05-15 07:12:10 浏览: 88
范型List<T> Dictory<key,Value>增加事件功能
以下是一个简单的Java 8示例,演示如何使用共通方法返回Pair<Stream<T>, Stream<U>>:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<Integer> list2 = new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
Pair<Stream<String>, Stream<Integer>> pair = getPair(list1, list2);
Stream<String> stream1 = pair.getFirst();
Stream<Integer> stream2 = pair.getSecond();
List<String> resultList1 = stream1.collect(Collectors.toList());
List<Integer> resultList2 = stream2.collect(Collectors.toList());
System.out.println(resultList1);
System.out.println(resultList2);
}
public static <T, U> Pair<Stream<T>, Stream<U>> getPair(List<T> list1, List<U> list2) {
Stream<T> stream1 = list1.stream();
Stream<U> stream2 = list2.stream();
return new Pair<>(stream1, stream2);
}
}
class Pair<T, U> {
private T first;
private U second;
public Pair(T first, U second) {
this.first = first;
this.second = second;
}
public T getFirst() {
return first;
}
public U getSecond() {
return second;
}
}
```
这个示例中,我们定义了一个共通方法 `getPair`,它接受两个列表参数,并使用Java 8的流API,将列表转换为流,并封装为一个 `Pair<Stream<T>, Stream<U>>` 类型的对象返回。在主方法中,我们调用 `getPair` 方法并获取 `Pair<Stream<String>, Stream<Integer>>` 对象,然后分别将这两个流转换为列表并打印输出。
阅读全文