在ArrayList中存储超过85000个字符串

时间:2013-05-11 16:11:39

标签: java xml jvm

我之前没有想过这个问题,有一些线索(谷歌搜索),如果JVM允许,ArrayList可以容纳任何大小的数据。问题是我需要在arraylist中存储一些url链接,而程序运行需要存储更多url(字符串),如果它不在arrayList中。

我认为将字符串存储在XML文件中,但它并不是空闲的。因为每次添加新字符串时都要检查它是否已经存在。

我想知道是否还有其他方法可以解决这个问题。

2 个答案:

答案 0 :(得分:4)

Set会自动覆盖重复的键。这是关于Java字符串的内存使用的SO post。即使URL很长,它也应该适合10MB或更少。

,默认情况下,您应该为JVM分配更多堆,这样就不会有问题了。

答案 1 :(得分:2)

如果您不关心订单,HashSet是一个更快的选项contains()