2013-05-11 55 views
1

我不認爲這個問題之前有問題,有一些線索(谷歌搜索),如果JVM允許它ArrayList可以容納任何大小的數據。事情是我需要在arraylist中存儲一些url鏈接,而程序運行時如果它還不在arrayList中,則需要存儲更多的url(字符串)。在ArrayList中存儲超過85000個字符串

我想在XML文件中存儲字符串,但它不是空閒的。因爲每次我添加新的字符串,我必須檢查它是否已經存在。

我想知道是否有其他方法來解決這個問題。

+2

數據庫會過時嗎?然後,也許像memcached將是一種替代... – 2013-05-11 16:15:53

+0

我想過,但事情是我建立桌面應用程序。我可能能夠使用sqlite3。但不確定。 – Isuru 2013-05-11 16:21:51

+0

執行問題在這裏是無關緊要的。嘗試在Stack Overflow上詢問你的問題,但請通過添加更多關於你想要完成的細節來改進它。目前還不清楚你的問題是什麼問題。 – 2013-05-11 16:32:24

回答

4

Set將自動覆蓋重複鍵。這裏是關於內存使用Java字符串的SO post。即使這些網址相當長,也應該在10MB或更少。默認情況下,你應該爲自己的JVM分配更多的堆,所以它不會成爲問題。

+0

是的,一套似乎是最終的解決方案。例如,只需在集合中添加網址,即HashSet即可。 Java字符串有一個高效的散列,所以你可以期待一個非常快的插入。 – mgoeminne 2013-05-12 09:00:05

2

如果你不關心訂單HashSet是一個更好的選擇,它有一個快速的。