为什么Java Vector被认为是遗留类,已过时或已弃用?
在使用并发时,它的使用是否有效?
如果我不想手动同步对象而只想使用线程安全的集合而不需要制作底层数组的新副本(就像CopyOnWriteArrayList
那样),那么它可以使用Vector
吗?
怎么样Stack
,这是一个子类Vector
,我应该怎么用,而不是它?
假设我有2个标准向量:
vector<int> a;
vector<int> b;
Run Code Online (Sandbox Code Playgroud)
我们还说两者都有大约30个元素.
肮脏的方式将迭代通过b并通过添加每个元素vector<int>::push_back()
,但我不想这样做!
我想做的就是检查一个元素是否存在于向量中,所以我可以处理每个案例.
if ( item_present )
do_this();
else
do_that();
Run Code Online (Sandbox Code Playgroud) 我可以创建一个数组并像这样初始化它:
int a[] = {10, 20, 30};
Run Code Online (Sandbox Code Playgroud)
如何创建std::vector
和初始化它同样优雅?
我知道的最好方法是:
std::vector<int> ints;
ints.push_back(10);
ints.push_back(20);
ints.push_back(30);
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我有一个std :: vector <int>,我想删除第n个元素.我怎么做?
std::vector<int> vec;
vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);
vec.erase(???);
Run Code Online (Sandbox Code Playgroud) 我有一个数字向量:
numbers <- c(4,23,4,23,5,43,54,56,657,67,67,435,
453,435,324,34,456,56,567,65,34,435)
Run Code Online (Sandbox Code Playgroud)
如何计算值x在向量中出现的次数?
两个数据结构ArrayList和Vector之间有什么区别,你应该在哪里使用它们?
当我这样做:
std::vector<int> hello;
Run Code Online (Sandbox Code Playgroud)
一切都很好.但是,当我把它作为引用的向量时:
std::vector<int &> hello;
Run Code Online (Sandbox Code Playgroud)
我得到了可怕的错误
错误C2528:'指针':指向引用的指针是非法的
我想把一堆结构的引用放到一个向量中,这样我就不必插入指针了.为什么矢量会对此发脾气?我唯一的选择是使用指针向量吗?