2014-02-17 51 views
1

聲明的方法簽名似乎是相同的。那麼介紹Set接口而不是直接實現Collection的目的是什麼呢?或者這只是一種標記界面嗎?Java中Collection和Set接口有什麼區別?

+0

你在說什麼語言? – SLaks

+0

謝謝,在帖子中加入了「Java」 – Roman

+3

* Javadoc API *說有什麼區別?查看這些類型和方法,以及這些約束:「Set接口在所有構造函數的合約上以及在add,equals和hashCode方法,其他的繼承方法聲明也包括在內(爲了方便起見)(這些聲明附帶的規範是爲Set接口定製的,但是它們不包含任何附加規定)。「 – user2864740

回答

0

Set保證集合將包含獨特的元素(不重複)。 A Collection不能保證這一點。

Set接口只包含從Collection繼承的方法,並添加禁止重複元素的限制。

集還增加了對的行爲更強的合同等於的hashCode操作,允許設置實例進行有意義的,即使它們的實現類型不同的比較。如果兩個Set實例包含相同的元素,則它們是相等的。

The Set Interface

注意,Set不會保留在哪些元素插入的順序。 如果您需要保留元素的插入順序,您需要LinkedHashSethttps://stackoverflow.com/a/821104/4587961

相關問題