Skip to content

Instantly share code, notes, and snippets.

@stuart-marks
stuart-marks / FlatMapping.java
Created April 11, 2018 21:28
Utilities for streams flatmapping from collections, arrays, and optionals.
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Stream;
// Suppose we have an API where:
// - a Clazz has a List of Methods,
$ cat Printf.java
public class Printf {
public static void main(String[] args) {
System.out.println("Locale.getDefault()=" + java.util.Locale.getDefault());
System.out.printf("%.3f%n", 123.45);
}
}
$ javac Printf.java
$ java -version
@stuart-marks
stuart-marks / SequenceTests.java
Last active March 8, 2021 21:25
Ken Fogel's collections benchmarks rewritten in JMH
package com.kenfogel.performance.loaders;
import java.util.*;
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.*;
/**
* Performs a set of tests to determine the Big-O performance of an array list, array deque,
* and linked list.
*
@stuart-marks
stuart-marks / DynamicFiltering.java
Created April 8, 2014 00:12
Dynamic filtering using Java 8 streams.
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;
/**
* http://stackoverflow.com/questions/22845574/how-to-dynamically-do-filtering-in-java-8
*
@stuart-marks
stuart-marks / FizzBuzz.java
Created March 20, 2014 04:11
Yet another FizzBuzz, using Java 8 lambda and streams.
import java.util.function.IntFunction;
import java.util.stream.IntStream;
public class FizzBuzz {
static <R> IntFunction<R> ifmod(int m, R r, IntFunction<R> f) {
return (int i) -> (i % m == 0) ? r : f.apply(i);
}
public static void main(String[] args) {
IntStream.rangeClosed(1, 100)