Bir akıştaki öğeleri aynı türden bir ayırıcıyla birleştirmek için Java akışlarını kullanmanın güzel bir yolu var mı?Ayırıcı içeren bir akıştaki ara elemanlar
// Expected result in is list: [1, 0, 2, 0, 3]
List<Integer> is = Stream.of(1, 2, 3).intersperse(0).collect(toList());
Bu Haskell ve diğer fonksiyonel dillerde intersperse
işlevine benzer.
Dizeleri benzer şekilde birleştirmenin birçok örneğini gördüm ancak genel listeler için herhangi bir çözüm bulamadılar.
+1 boyutunu biliyorsanız 'n' Orijinal listeden '.limit (2 * n-1)' kullanabilirsiniz. –
@tobias_k Bu doğru – Eran
Teşekkür ederiz. Ancak takip eden bir ayırıcı almamak, bir nokta. Ve burada 'limit' kullanmak biraz fazla sakar. Ama aynı zamanda bir ayrılıkçı istediğiniz zaman için bir çözüm olması iyi! – Lii