我没有那种Java(但学习)数据结构的经验,并不确定要选择什么类型的列表。我的问题是我正在创建一个套接字服务,它接收数据并根据列表对其进行检查,如果它不存在,那么它会传递要处理的数据并将数据ID号添加到列表中,以便相同的数据不会再次处理(处理数据的服务不知道是否存在重复的工作,所以这是作为过滤器)。不确定哪种类型的清单要选择?
我看到ArrayList速度很快,但我只是意识到它需要我知道列表的大小,而不是随着它的不断增长(它肯定会触及数十亿个物品)。我以为我会用旧的时尚整数[],但认为我会问是否有更好的方法。
有几个细节与我的过程有关,我的数据本身很复杂,但对于查找,我将数据转换为散列码并检查这些数据以便我所有的数据都是整数(正数/负数)以及客户端请求是通过可运行的程序来完成的,所以如果我能做些事情来提高数据的效率,我可以做到这一点(我在想,因为它的所有Integers可能经常对它进行排序以使循环更快?)。是整数[]足够好还是有更好的?
我希望它不会超过2,147,483,647项。那么你会遇到比选择哪种类型的列表更大的问题。 – Jeffrey 2012-04-16 01:34:35
@Jeffrey我会保持我的手指交叉它不:-) – Lostsoul 2012-04-16 01:35:16
你应该使用一个Set而不是List来避免重复。 – Hassan 2012-04-16 01:38:41