Skip to content

Instantly share code, notes, and snippets.

@guntaka
guntaka / RankNumbers.kt
Created May 26, 2022 04:54
Rank numbers in a list with Kotlin collection operators
val input = listOf(12000, 1000, 12000, 25000, 12000, 15000, 12000, 35000)
with(input.sorted().reversed()) {
input.map { "$it => ${indexOf(it) + 1}" }
}.forEach(::println)
@guntaka
guntaka / QuarterlyMonths.java
Created June 21, 2021 03:25
Generate a string of 4 quarters with starting month input
import static java.util.stream.Collectors.joining;
import java.util.stream.IntStream;
public class QuarterlyMonths {
public static String get(int input) {
final int offset = (input % 3) == 0 ? 3 : (input % 3);
return IntStream.range(0,4).mapToObj(i -> String.format("%02d", i * 3 + offset)).collect(joining());
}
//To test the `get` method
@guntaka
guntaka / FunctionalRetry.java
Last active June 21, 2021 03:26
Add delay between calls
import java.util.function.Consumer;
import java.util.function.Supplier;
import io.vavr.Tuple;
import io.vavr.Tuple2;
import io.vavr.collection.Stream;
import io.vavr.control.Option;
import io.vavr.control.Try;
public class FunctionalRetry {
sort -k1.1,1.4 -k1.11,1.13