容器的基本使用


容器:vector

算法:for_each

迭代器:vector< int >::iterator

1. vector存放内置数据类型

#include<iostream>
#include<vector>
#include<algorithm>//标准算法头文件
using namespace std;
void myPrint(int val){
    cout<<val<<endl;
}
void test1(){
    //创建vector容器对象,并且通过模板参数指定容器中存放的数据的类型,可理解为数组
    vector<int> v;
    //向容器中存放数据
    v.push_back(10);//尾插法
    v.push_back(20);
    v.push_back(30);
    v.push_back(40);
    //每一个容器都有自己的迭代器,迭代器是用来遍历容器中的元素
    vector<int>::iterator itBegin=v.begin();//起始迭代器,指向容器中的第一个数据
    vector<int>::iterator itEnd=v.end();//结束迭代器,指向容器元素的最后一个元素的下一个位置
    //访问容器数据的三种方式
    //第一种遍历方式
    while(itBegin!=itEnd){
        cout<<*itBegin<<endl;
        itBegin++;
    }
    //第二种遍历方式
    for(vector<int>::iterator it=v.begin();it!=v.end();it++){
        cout<<*it<<endl;
    }
    //第三种遍历方式
    for_each(v.begin(),v.end(),myPrint);//使用此函数需要包含算法头文件:algorithm
}
int main(){
    test1();
    system("pause");
    return 0;
}

在这里插入图片描述

2. 存放自定义数据类型

#include<iostream>
#include<vector>
using namespace std;
//vector容器中存放自定义数据类型
class Person{
public:
    string name;
    int age;
public:
    Person(string m,int a){name=m;age=a;}
};
void test1(){
    vector<Person> v;
    Person p1("aaa",12);
    Person p2("bbb",13);
    Person p3("ccc",14);
    //向容器中添加数据
    v.push_back(p1);
    v.push_back(p2);
    v.push_back(p3);
    //遍历容器中的数据
    for(vector<Person>::iterator it=v.begin();it!=v.end();it++){
        cout<<"name:"<<(*it).name<<" age:"<<(*it).age<<endl;
    }
}
void test2(){
    vector<Person*> v;
    Person p1("aaa",12);
    Person p2("bbb",13);
    Person p3("ccc",14);
    //向容器中添加数据
    v.push_back(&p1);
    v.push_back(&p2);
    v.push_back(&p3);
    //遍历容器中的数据
    for(vector<Person*>::iterator it=v.begin();it!=v.end();it++){
        cout<<"name:"<<(*it)->name<<" age:"<<(*it)->age<<endl;
    }
}
int main(){
    test1();
    test2();
    system("pause");
    return 0;
}

在这里插入图片描述

3. vector容器嵌套容器

#include<iostream>
#include<vector>
using namespace std;
//容器嵌套容器
void test1(){
    vector<vector<int>> v;
    //创建小容器
    vector<int> v1;
    vector<int> v2;
    vector<int> v3;
    vector<int> v4;
    //给小容器中插入数据
    for(int i=0;i<4;i++){
        v1.push_back(i+1);
        v2.push_back(i+2);
        v3.push_back(i+3);
        v4.push_back(i+4);
    }
    //将小容器插入到大容器中
    v.push_back(v1);
    v.push_back(v2);
    v.push_back(v3);
    v.push_back(v4);
    //通过大容器,把所有容器遍历一遍
    for(vector<vector<int>>::iterator it=v.begin();it!=v.end();it++){
        for(vector<int>::iterator vit=(*it).begin();vit!=(*it).end();vit++){
            cout<<*vit<<" ";
        }
        cout<<endl;
    }
}
int main(){
    test1();
    system("pause");
    return 0;
}

在这里插入图片描述


参考视频:https://www.bilibili.com/video/BV1et411b73Z?p=186

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring容器是一个轻量级的容器,它可以管理对象及其依赖关系,并将它们组成一个整体,使得应用程序更易于开发和维护。Spring容器提供了两种类型的容器:BeanFactory和ApplicationContext。BeanFactory是Spring的最基本容器,它提供了基本的依赖注入功能,而ApplicationContext则是BeanFactory的扩展,提供了更多的功能,比如事件传播、国际化等。 Spring容器基本使用可以分为以下几个步骤: 1. 定义bean:在Spring容器中,所有的对象都被视为bean。你需要在配置文件中定义这些bean,指定它们的类、属性等信息。 2. 配置bean:配置bean就是指定bean的属性和依赖关系。Spring提供了多种方式来配置bean,比如XML配置、注解配置、Java配置等。 3. 加载容器:Spring容器可以通过ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、AnnotationConfigApplicationContext等方式进行加载。 4. 获取bean:一旦容器加载完成,就可以从容器中获取bean了。可以通过getBean()方法或者@Autowired注解来获取bean。 5. 使用bean:获取bean之后,就可以使用它们了。可以调用bean的方法,或者将bean注入到其他对象中。 下面是一个简单的示例,演示了如何使用Spring容器: 1. 定义一个HelloWorld类 ```java public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println("Your Message : " + message); } } ``` 2. 在配置文件中定义bean ```xml <bean id="helloWorld" class="com.example.HelloWorld"> <property name="message" value="Hello World!"/> </bean> ``` 3. 加载容器并获取bean ```java public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.getMessage(); } } ``` 以上就是Spring容器基本使用方法。通过这些步骤,我们可以在应用程序中轻松地管理和使用对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值