我想實現下面給出的兩個方法。 SomeObject有一個字段類型日期查找距目標對象最近的對象(前後)
private SomeObject getNearestObjectBeforeTargetObjectsCreatedDate(List<SomeObject> someObjectList, SomeObject targetObject){
}
private SomeObject getNearestObjectAfterTargetObjectsCreatedDate(List<SomeObject> someObjectList, SomeObject targetObject){
}
假設的createdDate我有5個對象P1,P2,P3,P4,P5中創建日期的升序排列。而目標對象是P3,則1方法應該返回P2和第二應該返回P4
目前我已經wirtten這樣的事情
private SomeObject getNearestPortFolio(List<SomeObject> someObjectList, SomeObject targetObject){
SomeObject returnObject = targetObject;
for(SomeObject someObject : someObjectList) {
// if the current iteration's date is "before" the target date
if(someObject.getCreatedDate().compareTo(targetObject.getCreatedDate()) < 0) {
if (someObject.getCreatedDate().compareTo(returnObject.getCreatedDate()) > 0){
returnObject = someObject;
}
}
}
return returnObject;
}
編寫自定義比較,並使用一個TreeSet? – Manish 2013-04-09 05:11:05
@SubhrajyotiMajumder:請參閱我目前的實施 – Bhuvan 2013-04-09 05:16:07