package quickml.collections;
import com.google.common.base.Optional;
import java.util.Map;
import java.util.Random;
public class MapUtils {
public static final Random random = new Random();
public static final <K, V extends Comparable<V>> Optional<Map.Entry<K, V>> getEntryWithLowestValue(Map<K, V> map) {
Optional<Map.Entry<K, V>> entryWithLowestValue = Optional.absent();
for (Map.Entry<K, V> kvEntry : map.entrySet()) {
if (!entryWithLowestValue.isPresent() || entryWithLowestValue.get().getValue().compareTo(kvEntry.getValue()) >= 0){
entryWithLowestValue = Optional.of(kvEntry);
}
}
return entryWithLowestValue;
}
public static final <K, V extends Comparable<V>> Optional<Map.Entry<K, V>> getEntryWithHighestValue(Map<K, V> map) {
Optional<Map.Entry<K, V>> entryWithHighestValue = Optional.absent();
for (Map.Entry<K, V> kvEntry : map.entrySet()) {
if (!entryWithHighestValue.isPresent() || entryWithHighestValue.get().getValue().compareTo(kvEntry.getValue()) <= 0){
entryWithHighestValue = Optional.of(kvEntry);
}
}
return entryWithHighestValue;
}
}