我對Java列表中的返回值感到困惑。Java列表中令人費解的返回值
我會預期的操作,如add
和remove
返回添加或刪除元素的索引,而不是他們只是在成功時返回true。
雖然與add
我可以得到這個ID調用size
-1(猜它不貴),與remove
我要叫indexOf
,它看起來像一個垃圾給我。
我錯過了什麼嗎?
我對Java列表中的返回值感到困惑。Java列表中令人費解的返回值
我會預期的操作,如add
和remove
返回添加或刪除元素的索引,而不是他們只是在成功時返回true。
雖然與add
我可以得到這個ID調用size
-1(猜它不貴),與remove
我要叫indexOf
,它看起來像一個垃圾給我。
我錯過了什麼嗎?
removig我想解釋的是,add和remove是Collection接口,因此它們適用於
地圖
設置以及基於列表的數據結構。
或者你的'List'實現可能是一個排序列表。 –
打敗我,所以我會刪除我的答案。詳細來說,地圖和集合通常沒有排序或「索引」的概念。 – user949300
[Map](http://download.oracle.com/javase/6/docs/api/index.html?java/util/Map.html)接口不會擴展'Collection',並且沒有添加方法。 – orien
什麼有關添加和使用指標
是的,使用indexOf(Object obj)獲取索引,然後調用remove(int i)。現在你有索引。如果你使用ArrayList,這將不是低效的。 – Kevin
也許列表不是你需要的數據結構 - 爲什麼這是尷尬的例子會有所幫助。 – Emma
刪除後,該項目不在列表中,因此索引並不合理。 –
@Emma:沒錯,但我編輯的是外國代碼,這看起來像我在這種情況下可以做的最不具破壞性的修改。 –