vector

在这里插入图片描述

Vector类
  Vector非常类似ArrayList,但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的 Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException,因此必须捕获该异常。

Stack 类
  Stack继承自Vector,实现一个后进先出的堆栈。Stack提供5个额外的方法使得 Vector得以被当作堆栈使用。基本的push和pop方法,还有peek方法得到栈顶的元素,empty方法测试堆栈是否为空,search方法检测一个元素在堆栈中的位置。Stack刚创建后是空栈。

Vector 是同步的。这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C++ 中,vector 是一个动态数组容器,可以存储任意类型的数据。使用 vector 可以方便地进行动态内存分配和管理,而不需要手动进行内存分配和释放。 vector 提供了一系列的成员函数,可以方便地进行元素的插入、删除、查找和访问等操作。以下是一些常用的操作: 1. 创建 vector 对象: ```c++ #include <vector> std::vector<int> vec; // 创建一个空的 vector std::vector<int> vec1(10); // 创建一个包含 10 个默认值的 vector std::vector<int> vec2(10, 0); // 创建一个包含 10 个值为 0 的 vector std::vector<int> vec3 = {1, 2, 3, 4}; // 创建一个包含 4 个元素的 vector,初始值为 1, 2, 3, 4 std::vector<int> vec4(vec3); // 创建一个与 vec3 完全相同的新 vector ``` 2. 访问 vector 中的元素: ```c++ std::vector<int> vec = {1, 2, 3, 4}; std::cout << vec[0] << std::endl; // 访问第一个元素,输出 1 std::cout << vec.at(2) << std::endl; // 访问第三个元素,输出 3 std::cout << vec.front() << std::endl; // 访问第一个元素,输出 1 std::cout << vec.back() << std::endl; // 访问最后一个元素,输出 4 ``` 3. 插入和删除元素: ```c++ std::vector<int> vec = {1, 2, 3, 4}; vec.push_back(5); // 在末尾插入元素 5 vec.insert(vec.begin() + 2, 10); // 在第三个位置插入元素 10 vec.erase(vec.begin() + 1); // 删除第二个元素 ``` 4. 获取 vector 中的信息: ```c++ std::vector<int> vec = {1, 2, 3, 4}; std::cout << vec.size() << std::endl; // 输出 vector 的大小,即元素个数,输出 4 std::cout << vec.empty() << std::endl; // 判断 vector 是否为空,输出 0(因为不为空) ``` vector 还提供了一些其他的函数,如排序、反转、查找等,具体可以参考 C++ 标准库的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值