
com.liveramp.commons.collections.IntervalMap Maven / Gradle / Ivy
package com.liveramp.commons.collections;
import java.util.Iterator;
public interface IntervalMap {
public void put(long key, V value);
public void put(long min, long max, V value);
public V get(long value);
public Iterator> iterator();
public static class Interval {
private final long min;
private final long max;
private final V value;
public Interval(long min, long max, V value) {
this.min = min;
this.max = max;
this.value = value;
}
@Override
public String toString() {
return "Interval{" +
"min=" + min +
", max=" + max +
", value=" + value +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Interval)) return false;
Interval interval = (Interval) o;
if (max != interval.max) return false;
if (min != interval.min) return false;
if (value != null ? !value.equals(interval.value) : interval.value != null) return false;
return true;
}
@Override
public int hashCode() {
int result = (int) (min ^ (min >>> 32));
result = 31 * result + (int) (max ^ (max >>> 32));
result = 31 * result + (value != null ? value.hashCode() : 0);
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy