相关疑难解决方法(0)

从流中收集连续的对

鉴于如下的流{ 0, 1, 2, 3, 4 },

我怎样才能最优雅地将其转换为给定的形式:

{ new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) }

(假设,当然,我已经定义了类对)?

编辑:这不是严格关于整数或原始流.对于任何类型的流,答案应该是通用的.

java java-8 java-stream

92
推荐指数
10
解决办法
5万
查看次数

如何将字符串流转换为字符串流对?

我想取一串字符串并将其转换为单词对流.例如:

我有: { "A", "Apple", "B", "Banana", "C", "Carrot" }

我想:{ ("A", "Apple"), ("Apple", "B"), ("B", "Banana"), ("Banana", "C") }.

这与使用带有lambda的JDK8的Zipping流中概述的Zipping几乎相同(java.util.stream.Streams.zip)

但是,这会产生: { (A, Apple), (B, Banana), (C, Carrot) }

以下代码有效,但显然是错误的方法(不是线程安全等):

static String buffered = null;

static void output(String s) {
    String result = null;
    if (buffered != null) {
        result = buffered + "," + s;
    } else {
        result = null;
    }

    buffered = s;
    System.out.println(result);
}

// ***** 

Stream<String> testing …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

6
推荐指数
1
解决办法
1546
查看次数

标签 统计

java ×2

java-8 ×2

java-stream ×2

lambda ×1