-1
該方法應該找到Collection中的最大值大於該鍵的值。我不斷得到一個java.lang.UnsupportedOperationException,我不知道如何解決它。預先感謝您的幫助。修復java.lang.UnsupportedOperationException
public static <T> T ceiling(Collection<T> c, T key, Comparator<T> comp) {
T ceiling = null;
if (c == null || comp == null) {
throw new IllegalArgumentException();
}
else if (c.size() == 0) {
throw new NoSuchElementException();
}
else {
Iterator<T> itr = c.iterator();
while (itr.hasNext()) {
if (comp.compare(itr.next(), key) < 0) {
itr.remove();
}
}
}
if (c.size() == 0) {
throw new NoSuchElementException();
}
else {
Iterator<T> itr2 = c.iterator();
ceiling = itr2.next();
while (itr2.hasNext()) {
T temp2 = itr2.next();
if (comp.compare(temp2, ceiling) < 0) {
ceiling = temp2;
}
}
}
return ceiling;
}
請發表您的代碼中的錯誤消息和堆棧跟蹤過。 – 2015-02-05 21:26:12
請參閱[什麼是堆棧跟蹤,以及如何使用它來調試我的應用程序錯誤?](http://stackoverflow.com/q/3988788/217324) – 2015-02-05 21:28:00
不錯的方法。那麼,你會在哪條線上得到例外? – 2015-02-05 21:30:27