与java.nio.file.Path一起使用的正确/适当的集合是什么?
就像您不会在vet中使用与java.nio.file.Path一起使用的正确/适当的集合是什么?,java,collections,nio,Java,Collections,Nio,就像您不会在vet中使用向量作为Cat对象列表,而是使用数组列表,您也不会使用数组列表作为键/值对列表,但可以选择哈希映射 正确的路径选择是什么 如果有人发现了这个,我发现了这个: 它有ArrayList、HashMap和LinkedList的性能基准。了解不同情况下的确切差异非常有用 这个问题没有一个正确答案。相反,您应该了解不同的集合类型(类、接口),并选择一种适合您试图实现的特定代码的特定需求的集合 顺便说一句,Path并没有改变决策过程的特别之处 我希望得到一个基于标准的答案 那是逃
向量
作为Cat对象列表,而是使用数组列表
,您也不会使用数组列表
作为键/值对列表,但可以选择哈希映射
正确的路径选择是什么
如果有人发现了这个,我发现了这个:
它有ArrayList、HashMap和LinkedList的性能基准。了解不同情况下的确切差异非常有用 这个问题没有一个正确答案。相反,您应该了解不同的集合类型(类、接口),并选择一种适合您试图实现的特定代码的特定需求的集合 顺便说一句,
Path
并没有改变决策过程的特别之处
我希望得到一个基于标准的答案 那是逃避责任!就像问什么是“最佳实践” (提示:“最佳实践”是理解API并为自己做出理性/合理的决定!)
路径是否有标准集合
没有。有许多标准Java集合类和接口可以与
Path
一起使用。。。而路径
并不能使它们中的任何一个优于其他路径(与用例无关)。取决于您的逻辑。您想用它做什么?那么您想用这些路径做什么ArrayList
在所有情况下都几乎取代了Vector
作为容器;这与Cat
对象无关。如果你想要一个键/值关系,你会使用一个Map
。。。如果您只需要通过索引访问的Path
实例集合,那么ArrayList
就可以了。。。然而,如果您想要从字符串映射到路径,那么同样地,映射
也是合适的。这一切都是关于你想从收藏中得到什么@ᴍ阿伦ᴍaroun:在这种情况下,我可能会使用集合.synchronizedList
——这将强调这一方面。“排序em、随机访问、数百万个“实例”—这些信息不足以提出建议。