Skip to content

Instantly share code, notes, and snippets.

@TeamDman
Created May 16, 2021 21:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TeamDman/c72417359fa517d7adcabc601b24cd4c to your computer and use it in GitHub Desktop.
Save TeamDman/c72417359fa517d7adcabc601b24cd4c to your computer and use it in GitHub Desktop.
import java.util.Optional;
import java.util.Random;
import java.util.stream.IntStream;
import net.minecraft.util.Util;
import org.junit.jupiter.api.RepeatedTest;
import org.junit.jupiter.api.Test;
public class StreamOptionalTest {
private static final Random rand = new Random(42);
@Test
@RepeatedTest(16)
public void MapFilterMap() {
System.out.println(IntStream.range(1, 160000000)
.boxed()
.map(StreamOptionalTest::getInt)
.filter(Optional::isPresent)
.mapToInt(Optional::get)
.sum());
}
@Test
@RepeatedTest(16)
public void UtilStreamOptional(){
System.out.println(IntStream.range(1, 160000000)
.boxed()
.flatMap(i -> Util.streamOptional(getInt(i)))
.mapToInt(Integer::intValue)
.sum());
}
public static Optional<Integer> getInt(int max) {
int i = rand.nextInt(max);
return i > 50 ? Optional.empty() : Optional.of(i);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment