下面列出了java.util.TreeMap#lowerKey ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* lowerKey returns preceding element
*/
public void testLowerKey() {
TreeMap q = map5();
Object e1 = q.lowerKey(three);
assertEquals(two, e1);
Object e2 = q.lowerKey(six);
assertEquals(five, e2);
Object e3 = q.lowerKey(one);
assertNull(e3);
Object e4 = q.lowerKey(zero);
assertNull(e4);
}
/**
* lowerKey returns preceding element
*/
public void testLowerKey() {
TreeMap q = map5();
Object e1 = q.lowerKey(three);
assertEquals(two, e1);
Object e2 = q.lowerKey(six);
assertEquals(five, e2);
Object e3 = q.lowerKey(one);
assertNull(e3);
Object e4 = q.lowerKey(zero);
assertNull(e4);
}
@Override
public boolean containsEventSet(String attribute, Compare.Operator operator, Object value) {
if (primaryKeyData != null && attribute.equals(primaryKeyAttributes)) {
switch (operator) {
case LESS_THAN:
return ((TreeMap<Object, StreamEvent>) primaryKeyData).lowerKey(value) != null;
case GREATER_THAN:
return ((TreeMap<Object, StreamEvent>) primaryKeyData).higherKey(value) != null;
case LESS_THAN_EQUAL:
return ((TreeMap<Object, StreamEvent>) primaryKeyData).ceilingKey(value) != null;
case GREATER_THAN_EQUAL:
return ((TreeMap<Object, StreamEvent>) primaryKeyData).floorKey(value) != null;
case EQUAL:
return primaryKeyData.get(value) != null;
case NOT_EQUAL:
return primaryKeyData.size() > 1;
}
} else {
TreeMap<Object, Set<StreamEvent>> currentIndexedData = indexData.get(attribute);
switch (operator) {
case LESS_THAN:
return currentIndexedData.lowerKey(value) != null;
case GREATER_THAN:
return currentIndexedData.higherKey(value) != null;
case LESS_THAN_EQUAL:
return currentIndexedData.ceilingKey(value) != null;
case GREATER_THAN_EQUAL:
return currentIndexedData.floorKey(value) != null;
case EQUAL:
return currentIndexedData.get(value) != null;
case NOT_EQUAL:
return currentIndexedData.size() > 1;
}
}
throw new OperationNotSupportedException(operator + " not supported for '" + value + "' by " + getClass()
.getName());
}
@Override
public boolean containsEventSet(String attribute, Compare.Operator operator, Object value) {
if (primaryKeyData != null && attribute.equals(primaryKeyAttributes)) {
StreamEvent foundEvent;
switch (operator) {
case LESS_THAN:
foundEvent = (StreamEvent) ((TreeMap<Object, StreamEvent>) primaryKeyData).
lowerKey(value);
if (foundEvent != null) {
handleCachePolicyAttributeUpdate(foundEvent);
return true;
} else {
return false;
}
case GREATER_THAN:
foundEvent = (StreamEvent) ((TreeMap<Object, StreamEvent>) primaryKeyData).
higherKey(value);
if (foundEvent != null) {
handleCachePolicyAttributeUpdate(foundEvent);
return true;
} else {
return false;
}
case LESS_THAN_EQUAL:
foundEvent = (StreamEvent) ((TreeMap<Object, StreamEvent>) primaryKeyData).
ceilingKey(value);
if (foundEvent != null) {
handleCachePolicyAttributeUpdate(foundEvent);
return true;
} else {
return false;
}
case GREATER_THAN_EQUAL:
foundEvent = (StreamEvent) ((TreeMap<Object, StreamEvent>) primaryKeyData).
floorKey(value);
if (foundEvent != null) {
handleCachePolicyAttributeUpdate(foundEvent);
return true;
} else {
return false;
}
case EQUAL:
foundEvent = primaryKeyData.get(value);
if (foundEvent != null) {
handleCachePolicyAttributeUpdate(foundEvent);
return true;
} else {
return false;
}
case NOT_EQUAL:
return primaryKeyData.size() > 1;
}
} else {
TreeMap<Object, Set<StreamEvent>> currentIndexedData = indexData.get(attribute);
switch (operator) {
case LESS_THAN:
return currentIndexedData.lowerKey(value) != null;
case GREATER_THAN:
return currentIndexedData.higherKey(value) != null;
case LESS_THAN_EQUAL:
return currentIndexedData.ceilingKey(value) != null;
case GREATER_THAN_EQUAL:
return currentIndexedData.floorKey(value) != null;
case EQUAL:
return currentIndexedData.get(value) != null;
case NOT_EQUAL:
return currentIndexedData.size() > 1;
}
}
throw new OperationNotSupportedException(operator + " not supported for '" + value + "' by " + getClass()
.getName());
}