1
聲明的方法簽名似乎是相同的。那麼介紹Set接口而不是直接實現Collection的目的是什麼呢?或者這只是一種標記界面嗎?Java中Collection和Set接口有什麼區別?
聲明的方法簽名似乎是相同的。那麼介紹Set接口而不是直接實現Collection的目的是什麼呢?或者這只是一種標記界面嗎?Java中Collection和Set接口有什麼區別?
Set
保證集合將包含獨特的元素(不重複)。 A Collection
不能保證這一點。
Set接口只包含從Collection繼承的方法,並添加禁止重複元素的限制。
集還增加了對的行爲更強的合同等於和的hashCode操作,允許設置實例進行有意義的,即使它們的實現類型不同的比較。如果兩個Set實例包含相同的元素,則它們是相等的。
注意,Set
不會保留在哪些元素插入的順序。 如果您需要保留元素的插入順序,您需要LinkedHashSet
。 https://stackoverflow.com/a/821104/4587961
你在說什麼語言? – SLaks
謝謝,在帖子中加入了「Java」 – Roman
* Javadoc API *說有什麼區別?查看這些類型和方法,以及這些約束:「Set接口在所有構造函數的合約上以及在add,equals和hashCode方法,其他的繼承方法聲明也包括在內(爲了方便起見)(這些聲明附帶的規範是爲Set接口定製的,但是它們不包含任何附加規定)。「 – user2864740