using
System;
using
System.Linq;
class
Program
{
static
void
Main()
{
string[]
names = {"Sam","Pamela",
"Dave",
"Pascal",
"Erik"};
string[]
filteredNames = names.Where(c => c.Contains("am")).Select(c
=> c + "...").ToArray();
for
(int
i = 0; i < filteredNames.Length; i++)
Console.WriteLine(filteredNames[i]);
}
}
El siguiente código en Java 8 hace exactamente lo mismo:
import
static
java.util.Arrays.stream;
public
class
HelloWorld
{
public
static
void
main(String
[]args)
{
String[]
names = {"Sam","Pamela",
"Dave",
"Pascal",
"Erik"};
String[]
filteredNames = stream(names).filter(c ->
c.contains("am")).map(c->
c + "...").toArray(String[]::new);
for
(int
i = 0; i < filteredNames.length; i++)
System.out.println(filteredNames[i]);
}
}
El código en C# corre sobre Mono v3.10 y a partir del .Net Framework 3.5. El código en Java corre a partir del JDK 1.8.
En comparación con Linq, los streams en Java son un poquitillo más complicados de usar, especialmente por la cantidad de casteos que deben hacerse. La ventaja de Linq es que sus métodos como "Select" y "Where" recuerdan a los de SQL. La ventana de los streams de Java es que sus métodos como "map" y "filter" recuerdan a los de Python.
En comparación con Linq, los streams en Java son un poquitillo más complicados de usar, especialmente por la cantidad de casteos que deben hacerse. La ventaja de Linq es que sus métodos como "Select" y "Where" recuerdan a los de SQL. La ventana de los streams de Java es que sus métodos como "map" y "filter" recuerdan a los de Python.