Skip to content

Instantly share code, notes, and snippets.

View andreluisdias's full-sized avatar

Andre Luis de Oliveira Dias andreluisdias

View GitHub Profile
@andreluisdias
andreluisdias / GenericComparator.java
Last active September 30, 2017 19:49
Generic Comparator Structure with Native assertions (example Integer)
package examples.algorithms;
import com.google.common.base.Stopwatch;
/**
* Generic Comparator with native assertions for Integers
*
* @author Andre Luis de Oliveira Dias (https://about.me/andreluisdias)
* @since 30 de set de 2017
*/
@andreluisdias
andreluisdias / BinarySearchComparison.java
Last active September 30, 2017 18:49
Empirical Comparison between manually versus default Binary Search Algorithm
package examples.algorithms;
import java.util.Arrays;
import java.util.stream.IntStream;
import com.google.common.base.Stopwatch;
/**
* Binary Search comparison against Java's default Binary Search algorithm.
* Manually is better in this case!
package sample.function.infinite;
/**
* It's possible too. Example of a 'unlimited argument' Function interface.
* But it can cause Potential heap pollution due to varargs parameter element in @see {@link UnlimitedArgumentFunction#apply(Object...)}
*
* @author Andre Dias
* @since 2017-08-12
*/
@FunctionalInterface
@andreluisdias
andreluisdias / TriFunction.java
Last active October 21, 2019 09:50
Example of a Functional TriFunction interface and implementation (with Java 8 Lambdas)
package sample.function;
/**
* Example of TriFunction
*
* @author Andre Dias
* @since 2017-08-12
*/
@FunctionalInterface
public interface TriFunction<F, S, T, R> {
@andreluisdias
andreluisdias / IFunctionalInterface.java
Last active August 13, 2017 01:56
Sample Functional Interface in Java according to specification https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.8
package sample.fi;
@FunctionalInterface
public interface IFunctionalInterface {
int specificMethod();
}
package sample.fi;
@FunctionalInterface
public interface IFunctionalInterfaceWithPublicObjectOverride {
int specificMethod();
boolean equals(Object obj);
String toString();
}
@andreluisdias
andreluisdias / DemoFileCRCApplication
Last active May 27, 2016 00:23
Simple way to create a CRC code to a File within any JAR file, using Spring Boot and Lambda!
package com.example;
import java.io.File;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.zip.CRC32;
import lombok.extern.slf4j.Slf4j;
@andreluisdias
andreluisdias / gist:11406231
Last active August 29, 2015 14:00
Simple class to calculate time intervals
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Calendar;
/**
* An utility class to measure time processing.
*
* @author Andre Luis de Oliveira Dias
* @date 29/04/2014.
@andreluisdias
andreluisdias / gist:10490557
Last active August 29, 2015 13:59
Concurrent Simple Date Format Example
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author Andre Luis de Oliveira Dias
* @date 11/04/2014
@andreluisdias
andreluisdias / gist:9534960
Last active August 29, 2015 13:57
Easy Date Util Class for Age calculations (Joda Time dependant)
package br.com.andreluisdias.examples.date;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
/**
* DATE UTIL CLASS.