我有一个场景,其中有一个对象列表,其中包含一个多头列表。我需要能够在列表中进行递归搜索,以查找它们所包含的长整型列表是否包含任何匹配的长整型并将两行合并在一起。
我想尽快这样做。我想知道哪个集合既适合填充列表,又如上所述进行比较。我当前正在使用HashSet
。
当前的集合为876,543个对象,其中包含n个数字的列表(通常为3/4的较低数字)
答案 0 :(得分:0)
没有最快或最好的收藏,我的最佳建议:
如果您需要使用索引快速访问元素,则ArrayList是您的答案。 如果需要使用键快速访问元素,请使用HashMap。 如果需要快速添加和删除元素,请使用LinkedList(但索引访问性能很差)
答案 1 :(得分:0)
这一切取决于每个集合的大小以及是否希望它是线程安全的。一种实现方法是使用长long[]
数组,它比ArrayList
轻得多。您可以利用Arrays.equals(arr1, arr2);
方法来比较两个数组的内容。这将是您内部收藏的一个选择。
根据您想要访问它或对其进行排序的方式,可以为主要集合选择b / w列表或集合集合。