回答
Vector是一个类。一个Set是一个接口。无论如何,如果你没有做一些需要线程安全的东西,我会使用ArrayList而不是Vector。或者一个标准数组,如果它不会被调整大小。
它确实取决于你的应用程序。具体来说,集合不允许重复的元素,而阵列(Arraylists,Vectors)。
个人而言,我会用一个阵列,除非它需要有某种特殊的功能(缩放,没有重复的元素等)
除了优先于ArrayList的数组以外,我们同意。 – 2010-07-03 01:39:22
我使用矢量,因为我不知道过渡的大小。这取决于用户的输入。所以它会更有效率,如果我使用矢量。我不需要确定数组的大小。 。 。 CMIIW – gin 2010-07-05 01:52:52
一组在插入和删除时效率更高,而矢量则更慢。但是,您无法像在矢量中那样将元素存储在您选择的索引处。
查找矢量中速度最快,而它们可以稍微慢一些。
如果你的数据是不变的,你应该使用矢量。如果你经常变化,你应该去一套。
更有效地做*什么*? – 2010-07-03 01:31:51
TreeSet按元素的自然顺序排列。 – 2010-07-03 01:38:34
我的不好,我澄清了我的意思。 – casablanca 2010-07-03 01:52:16
我宁愿用列表实现的,而不是一个向量。这个向量是线程安全的,但是由于这个原因会带来一些开销。列表不是线程安全的,但您始终可以同步每个调用以添加,删除和获取元素。
如卡萨布兰卡所说,如果您试图以特定顺序获取您的元素,该设置将会有一些奇怪的行为。此外,该集合将会如此行事,并且决不会让您在需要时重复元素。
两者都适用于不同类型的活动:向量和列表都是针对相同的任务,实现不同。该设置将只适用于这种情况,当你需要它像一套功能。
我认为Set更适用于实现有限自动机。例如,你应该使用Set来保证没有重复的元素。通过自动机定义,你有一组状态,一组符号和一组可接受的状态,所以一组可以适合你的要求。
A Vector
和Set
是两种不同的数据结构;它们不能为了同一目的而互换。
- A
Vector
包含定义顺序的元素并且可以包含重复项(它是一个列表)。 - A
Set
没有固有的顺序,也不能包含重复项(它是一个包,其中元素没有排序)。
你应该完全依赖于你如何设计和实现你的应用程序;不知道你是怎么做到的,不可能说你应该使用Vector
还是Set
。
注意:类java.util.Vector
是一个遗留集合类,您应该真的使用java.util.ArrayList
来代替。
我的讲师说我宁愿用矢量来设置。 但是当我搜索自动机材料时,人们通常在他们的代码中使用set。 我只是困惑,当我必须设计过渡。他说我的国家包括transIn,TransOut和符号。其中我的transIn和TransOut是一个矢量.. – gin 2010-07-05 01:44:44
问题是,你试图从高级问题(“我想写一个有限自动机程序”)立即跳转到低级实现细节(“我应该使用'Vector'或'Set'),你应该完全使用它,取决于中间是什么,首先考虑你要使用的算法,然后考虑如何将该算法放入代码中。考虑哪种数据结构最适合该算法。 – Jesper 2010-07-05 06:45:43
- 1. 2D矢量vs 1D矢量
- 2. 在C++中设置矢量
- 3. Java矢量:清除vs removeAllElements方法
- 4. 矢量::的push_back VS矢量::操作符[]
- 5. 阵列VS矢量
- 6. 矢量[] vs复制
- 7. 设置的二维矢量
- 8. 在矢量类(Java)中加载矢量
- 9. 设置器在C++类矢量
- 10. 错误在C++设置和矢量
- 11. 在运行时设置矢量类型
- 12. 中断矢量。位置/谁设置它?
- 13. 取消设置变量vs设置为'
- 14. Java矢量集
- 15. OpenCL的标VS矢量
- 16. 高亮匹配VS矢量
- 17. J2me - 数组vs矢量?
- 18. 将一个矢量设置为另一个矢量
- 19. 设置矢量的矢量的第二尺寸为零(C++)
- 20. 如何设置矢量一行矢量分配?
- 21. 设置变量定义VS
- 22. 在Java中设置vs数组vs vs链表的性能
- 23. 矢量矢量Java web服务
- 24. 'for'loop vs在MATLAB中的矢量化
- 25. 在java中搜索矢量
- 26. 在java中排列矢量
- 27. GLSL:标量vs矢量性能
- 28. 大小vs矢量的容量?
- 29. 稀疏向量VS密集矢量
- 30. 根据数字矢量设置单杠
适合* what *?你打算如何使用自动机内的集合? – 2010-07-03 01:29:17
对于有意义的答案,此问题太含糊。 – 2010-07-03 03:38:02