如何向Map中添加数据

如何向Map中添加数据,第1张

向Map中添加数据的步骤如下:

1.首先使用insert方式插入三组数据到map容器中,然后遍历打印容器中存放的数据。

2.从输出的结果看,三组数据成功存放到map容器。

3.接下来仍然使用insert方式,但是插入的是value_type的数据。

4.从输出结果看,采用插入value_type数据显示现象与前一种方式是相同。这样就解决了向Map中添加数据的问题了。

JDK 中

view plaincopy to clipboardprint?    <FONT color=# ff>Map map = new HashMap()

Iterator it = map entrySet(erator()

while (it hasNext()) {

Map Entry entry = (Map Entry) it next()

Object key = entry getKey()

Object value = entry getValue()

}</FONT>

Map map = new HashMap()

Iterator it = map entrySet(erator()

while (it hasNext()) {

Map Entry entry = (Map Entry) it next()

Object key = entry getKey()

Object value = entry getValue()

}JDK 中 应用新特性For Each循环

view plaincopy to clipboardprint?    Map m = new HashMap()

for(Object o : map keySet()){

map get(o)

}

Map m = new HashMap()

for(Object o : map keySet()){

map get(o)

}返回的 set 中的每个元素都是一个 Map Entry 类型

view plaincopy to clipboardprint?    <FONT color=# ff>private Hashtable<String String>emails = new Hashtable<String String>()</FONT>

private Hashtable<String String>emails = new Hashtable<String String>()  另外 我们可以先把hashMap 转为集合Collection 再迭代输出 不过得到的对象

view plaincopy to clipboardprint?     <FONT color=# ff>//方法一: 用entrySet()

Iterator it = emails entrySet(erator()

while(it hasNext()){

Map Entry m=(Map Entry)it next()

( email + m getKey() + : + m getValue())

}

// 方法二 jdk 支持 用entrySet()和For Each循环()

for (Map Entry<String String>m : emails entrySet()) {

( email + m getKey() + : + m getValue())

}

// 方法三 用keySet()

Iterator it = emails keySet(erator()

while (it hasNext()){

String key

key=(String)it next()

( email + key + : + emails get(key))

}

// 方法五 jdk 支持 用keySEt()和For Each循环

for(Object m: emails keySet()){

( email + m+ : + emails get(m))

}    </FONT>

//方法一: 用entrySet()

Iterator it = emails entrySet(erator()

while(it hasNext()){

Map Entry m=(Map Entry)it next()

( email + m getKey() + : + m getValue())

}

// 方法二 jdk 支持 用entrySet()和For Each循环()

for (Map Entry<String String>m : emails entrySet()) {

( email + m getKey() + : + m getValue())

}

// 方法三 用keySet()

Iterator it = emails keySet(erator()

while (it hasNext()){

String key

key=(String)it next()

( email + key + : + emails get(key))

}

// 方法五 jdk 支持 用keySEt()和For Each循环

for(Object m: emails keySet()){

( email + m+ : + emails get(m))

}

Map    aa    =    new    HashMap()      aa put( tmp     new    Object())      //追加      替换用同样的函数       aa remove( temp )                        //删除      for    (Iterator    i    =    aa values(erator()    i hasNext()    )    {              Object    temp    =    i next()      }          //遍历    来个完整的 包含TreeSet的元素内部排序的

view plaincopy to clipboardprint?    public static void main(String[] args) {

ArrayList<String>list = new ArrayList<String>()

HashMap<Object Object>hash = new HashMap<Object Object>()

TreeMap<Object Object>treeMap = new TreeMap<Object Object>()

list add( a )

list add( b )

list add( c )

hash put( )

hash put( )

hash put( )

hash put( )

hash put( )

hash put( )

treeMap put( )

treeMap put( )

treeMap put( )

treeMap put( )

treeMap put( )

treeMap put( )

//list遍历

for(String m: list){

System out println(m)

}

// hashmap entrySet() 遍历

for(Map Entry<Object Object>m: hash entrySet()){

System out println(m getKey()+ +m getValue())

}

//hashmap keySet() 遍历

for(Object m: hash keySet()){

System out println(m+ +hash get(m))

}

// treemap keySet()遍历

for(Object m: treeMap keySet()){

System out println(m+ +treeMap get(m))

}

lishixinzhi/Article/program/Java/hx/201311/25783

这里我简单写写我知道的几种方法------注意循环对象不要为null哦!

第1种方法:通过map.entrySet()循环获取数据

第2种方法:通过map.keySet()循环获取数据

第3种方法:通过map.values()循环获取数据,但是无法获取key值

第4种方法:通过iterator循环获取数据,优点在于可以添加或删除数据

map.keySet()和map.values()的迭代就不写了,其实就是Set和List的迭代。

性能对比:

同时遍历key与value时,keySet与entrySet方法的性能差异取决于key的具体情况,包括复杂度,离散度,冲突率等。entrySet一次性取出key与value是有性能损耗的,当这个损失小于HashMap查找value的开销时,entrySet的性能优势就会体现出来。当key是比较简单或者是比较连贯的数据的时候,使用keySet会相对高效。但是如果随着key的复杂化,entrySet更有优势。所以一般建议使用entrySet,它相对来说,比较稳定。

只遍历key时,keySet方法更为合适,因为entrySet将无用的value也给取出来了,浪费了性能和空间。

只遍历value时,使用vlaues方法是最佳选择,entrySet会略好于keySet方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11934689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存