當前位置:成語大全網 - 書法字典 - Java排序問題

Java排序問題

公共接口比較器& ltT & gt{

/**

*比較它的兩個順序參數。返回負整數,

*零或正整數作為第壹個參數小於、等於

*到,或大於秒。& ltp & gt

*

*在前面的描述中,符號

* & ltTT & gt;SGN(& lt;/TT & gt;& lt我& gt表情& lt/I & gt;& ltTT & gt;)& lt/TT & gt;指定數學

* & lt我& gt簽名& lt/I & gt;函數,它被定義為返回& ltTT & gt;-1 & lt;/TT & gt;,

* & ltTT & gt;0 & lt/TT & gt;,或者& ltTT & gt;1 & lt;/TT & gt;根據的值是否

* & lt我& gt表情& lt/I & gt;是負數、零或正數。& ltp & gt

*

*實施者必須確保<。TT & gt;sgn(compare(x,y)) ==

* -sgn(compare(y,x))& lt;/TT & gt;對於所有人& ltTT & gt;x & lt/TT & gt;並且& ltTT & gt;y & lt/TT & gt;。(這個

*暗示& ltTT & gt;比較(x,y)& lt;/TT & gt;必須拋出異常當且僅當

*如果& ltTT & gt;比較(y,x)& lt;/TT & gt;引發異常。)& ltp & gt

*

*實施者還必須確保關系是可傳遞的:

* & ltTT & gt;((比較(x,y)& gt;0)& amp;& amp(比較(y,z)& gt;0))& lt;/TT & gt;暗指

* & ltTT & gt;比較(x,z)>0 & lt/TT & gt;。& ltp & gt

*

*最後,實施者必須確保& ltTT & gt;compare(x,y)= = 0 & lt;/TT & gt;

*暗示& ltTT & gt;sgn(compare(x,z))==sgn(compare(y,z))& lt;/TT & gt;盡管

* & ltTT & gt;z & lt/TT & gt;。& ltp & gt

*

*通常是這樣,但是& lt我& gt不是& lt/I & gt;嚴格要求

* & ltTT & gt;(compare(x,y)= = 0)=(x . equals(y))& lt;/TT & gt;。壹般來說,

*任何違反此條件的比較器都應明確指出

*這個事實。推薦的語言是“註意:此比較器

*強加與equals不壹致的排序。"

*

* @param o1要比較的第壹個對象。

* @param o2要比較的第二個對象。

* @返回負整數、零或正整數作為

*第壹個參數小於、等於或大於

*第二。

* @拋出ClassCastException,如果參數的類型阻止它們

*正在由該比較器進行比較。

*/

int compare(T o1,T O2);

源碼解釋的很清楚。