Skip to content

Instantly share code, notes, and snippets.

@youngbrioche
Last active December 27, 2015 11:39
Show Gist options
  • Save youngbrioche/7319603 to your computer and use it in GitHub Desktop.
Save youngbrioche/7319603 to your computer and use it in GitHub Desktop.

Test

for ( Element e : meineListe ) {
    // mach etwas Intelligentes mit e
}
meineListe_ist_jetzt_eine_Sequence.each(
    new IntelligenteVerarbeitungVonE() );
meineListe_ist_jetzt_eine_Sequence.each(
    new Callable1<Element, Object>() {
        @Override
        public Object call(Element e) {
            return null; // TODO mach etwas Intelligentes mit e
        }
    }
);
List ergebnisListe = ...;
for ( Kunde k : kundenliste ) {
    if ( k.istVIPKunde() ) {
        // ...
        ergebnisListe.add( ... );
    }
}
return ergebnisListe;
return kundenlist e.filter( istVIPKunde )
.map(intelligenteVIPVerabeitung );
sequence.<funktion>( ... )
<funktion>( JavaCollection, ... ).
return map( kundenliste, toGenericMap() )
.sortBy( comparatorOnKeys( "umsatz" ) )
        .take( 10 )
        .sortBy( comparatorOnKeys("name", "kundenNr") );
Pair<Sequence<Kunde>, Sequence<Kunde>> partitionen =
        kundenliste.partition( istVIPKunde() );
partitionen.first().each( spezielleVIPBehandlung() );
abZurSpamFarm( partitionen.second() );
zip( iterate( increment(), 1), kundenliste );

[1, Kunde@Instanz1], [2, Kunde@Instanz2], [3, Kunde@Instanz3]

try (StopWatch watch = new StopWatch("Sequentially", System.out)) {
    sequence(1,2,3).map(veryLongRunnningFunction)
            .forAll(theYesPredicate);
}
try (StopWatch watch = new StopWatch("Concurrently", System.out)) {
    sequence(1,2,3).mapConcurrently(veryLongRunnningFunction)
            .forAll(theYesPredicate);
}
StopWatch 'Sequentially' took 3003395000 ns
StopWatch 'Concurrently' took 1004120000 ns
java -javaagent:enumerable-java-<version>.jar ...
Fn1 square = λ( n, n * n);
Fn1 square = new Fn1() {
    public Object call(Object arg) {
        return (Integer) arg * (Integer) arg;
    }
};
sequence(1,2,3,4,5).map( λ( n, n * n) );
Sequence vipKunden =
            kundenliste.filter( λ(obj, ((Kunde) obj).istVIPKunde() ) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment