map容器的三種插入方式:
第一種:用insert函式插入pair資料。下面舉例說明:
#include
#include
#include
using namespace std;
int main()
mapmapstudent;
mapstudent.insert(pair(1, "student_one"));
mapstudent.insert(pair(2, "student_two"));
mapstudent.insert(pair(3, "student_three"));
map::iterator iter;
for(iter = mapstudent.begin(); iter != mapstudent.end(); iter++)
第二種:用insert函式插入value_type資料,下面舉例說明:
#include
#include
#include
using namespace std;
int main()
mapmapstudent;
mapstudent.insert(map::value_type (1, "student_one"));
mapstudent.insert(map::value_type (2, "student_two"));
mapstudent.insert(map::value_type (3, "student_three"));
map::iterator iter;
for(iter = mapstudent.begin(); iter != mapstudent.end(); iter++)
第三種:用陣列方式插入資料,下面舉例說明:
#include
#include
#include
using namespace std;
int main()
mapmapstudent;
mapstudent[1] = "student_one";
mapstudent[2] = "student_two";
mapstudent[3] = "student_three";
map::iterator iter;
for(iter = mapstudent.begin(); iter != mapstudent.end(); iter++)
以上三種用法,雖然都可以實現資料的插入,但是它們是有區別的,當然了第一種和第二種在效果上是完成一樣的,用insert函式插入資料,在資料的插入上涉及到集合的唯一性這個概念,即當map中有這個關鍵字時,insert操作是插入資料不了的,但是用陣列方式就不同了,它可以覆蓋以前該關鍵字對應的值,用程式說明:
mapstudent.insert(map::value_type (1, "student_one"));
mapstudent.insert(map::value_type (1, "student_two"));
上面這兩條語句執行後,map中1這個關鍵字對應的值是「student_one」,第二條語句並沒有生效,那麼這就涉及到我們怎麼知道insert語句是否插入成功的問題了,可以用pair來獲得是否插入成功,程式如下
pair::iterator, bool> insert_pair;
insert_pair = mapstudent.insert(map::value_type (1, "student_one"));
我們通過pair的第二個變數來知道是否插入成功,它的第乙個變數返回的是乙個map的迭代器,如果插入成功的話insert_pair.second應該是true的,否則為false。
下面給出完成**,演示插入成功與否問題:
#include
#include
#include
using namespace std;
int main()
mapmapstudent;
pair::iterator, bool> insert_pair;
insert_pair = mapstudent.insert(pair(1, "student_one"));
if(insert_pair.second == true)
else
insert_pair = mapstudent.insert(pair(1, "student_two"));
if(insert_pair.second == true)
else
map::iterator iter;
for(iter = mapstudent.begin(); iter != mapstudent.end(); iter++)
大家可以用如下程式,看下用陣列插入在資料覆蓋上的效果
#include
#include
#include
using namespace std;
int main()
mapmapstudent;
mapstudent[1] = "student_one";
mapstudent[1] = "student_two";
mapstudent[2] = "student_three";
map::iterator iter;
for(iter = mapstudent.begin(); iter != mapstudent.end(); iter++)
map容器元素的三種插入方式
stl中的map容器是我經常用的,但是因為map跟別的容器不太一樣,每次用的時候對於map中元素的插入方式總是忘卻,故而發篇博文,提醒我也提醒所有人map容器的三種插入方式 第一種 用insert函式插入pair資料。下面舉例說明 include include include using name...
MyBatis 三種批量插入方式的對比
反覆執行單條插入語句 xml拼接sql 批處理執行 先說結論 少量插入請使用反覆插入單條資料,方便。數量較多請使用批處理方式。可以考慮以有需求的插入資料量20條左右為界吧,在我的測試和資料庫環境下耗時都是百毫秒級的,方便最重要 無論何時都不用xml拼接sql的方式。拼接sql的xmlnewid 是s...
Map的三種 遍歷方式
map中沒有迭代器 不能直接迭代 遍歷 set keyset 這個方法 是 把map中的所有鍵 key 取出 放入乙個set集合中 返回給你 v get object key 是通過傳入鍵key 返回的是 鍵key 對應value值 inte ce intera test類 去實現interb 介面...