ProstoCoder Asked:2020-09-01 05:34:38 +0800 CST2020-09-01 05:34:38 +0800 CST 2020-09-01 05:34:38 +0800 CST 选择正确的收藏 772 在您需要经常创建和补充它的情况下,请告诉我在性能方面最好的集合。同时要保留添加元素的顺序,集合中的元素不多,最多30个。 java 4 个回答 Voted Best Answer Anton Sorokin 2020-09-01T12:23:38+08:002020-09-01T12:23:38+08:00 选择: 只有Vector和Stack不再使用,而是(用同步替换集合)- CopyOnWriteArrayList。 PS看起来你需要一个LinkedList。 Qwertiy 2020-09-01T18:11:01+08:002020-09-01T18:11:01+08:00 你需要一份清单。在 30 个元素处采用 ArrayList。即使在开始插入时,在分配内存和重新排列 6 个引用的情况下,29 个元素的移位在速度上也相当(虽然它可能会更慢,我没有测试过),此外,您将在处理器缓存中获得数据,这将在未来提供对它们的快速访问。 Alex 2020-09-01T09:14:18+08:002020-09-01T09:14:18+08:00 如果主要操作是添加,则使用列表。元素插入需要 O(1) 时间。 Wolframm 2020-09-01T18:02:20+08:002020-09-01T18:02:20+08:00 如果在开头插入元素,则为 ArrayList,如果在中间插入元素,则为 LinkedList。尽管如上所述,对于 30 个元素,您可以使用这些选项中的任何一个
选择:
只有Vector和Stack不再使用,而是(用同步替换集合)- CopyOnWriteArrayList。
PS看起来你需要一个LinkedList。
你需要一份清单。在 30 个元素处采用 ArrayList。即使在开始插入时,在分配内存和重新排列 6 个引用的情况下,29 个元素的移位在速度上也相当(虽然它可能会更慢,我没有测试过),此外,您将在处理器缓存中获得数据,这将在未来提供对它们的快速访问。
如果主要操作是添加,则使用列表。元素插入需要 O(1) 时间。
如果在开头插入元素,则为 ArrayList,如果在中间插入元素,则为 LinkedList。尽管如上所述,对于 30 个元素,您可以使用这些选项中的任何一个