您的位置:首页技术文章
文章详情页

Java实现将容器 Map中的内容保存到数组

【字号: 日期:2022-08-23 18:43:30浏览:3作者:猪猪

我就废话不多说了,大家还是直接看代码吧~

import java.util.Map;import java.util.HashMap;import java.util.Map.Entry; public class mapToArr {public static void main(String[] args) {Map<String, Integer> map = new HashMap<String, Integer>();map.put( 'a', 11 );map.put( 'b', 23 );map.put( 'c', 68 );System.out.println( 'map=' + map.toString() );int count = 0;Integer intArr[] = new Integer[map.size()];// 方法一//for( String key : map.keySet() ) {//intArr[count] = map.get(key);//count++;//}// 方法二for( Entry<String, Integer> entry : map.entrySet() ) {intArr[count] = entry.getValue();count++;}for( int i = 0; i < intArr.length; i++ ) {System.out.print( 'intArr[' + i + ']=' + intArr[i] + ' ' );}} }

运行结果为:

Java实现将容器 Map中的内容保存到数组

补充知识:Java map集合的两种取出方式

map集合的两种取出方式:

1,Set<k> keySet:将map中所有的键存入到Set集合。因为set具备迭代器。

所以可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。

Map集合的取出原理:将map集合转成set集合。再通过迭代器取出。

2,Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到了set集合中,

而这个关系的数据类型就是:Map.Entry

Entry其实就是Map中的一个static内部接口。

为什么要定义在内部呢?

因为只有有了Map集合,有了键值对,才会有键值的映射关系。

关系属于Map集合中的一个内部事物。

而且该事物在直接访问Map集合中的元素。

import java.util.*;class MapDemo2 { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.put('02','zhangsan2'); map.put('03','zhangsan3'); map.put('01','zhangsan1'); map.put('04','zhangsan4'); //将Map集合中的映射关系取出。存入到Set集合中。 Set<Map.Entry<String,String>> entrySet = map.entrySet(); Iterator<Map.Entry<String,String>> it = entrySet.iterator(); while(it.hasNext()) { Map.Entry<String,String> me = it.next(); String key = me.getKey(); String value = me.getValue(); System.out.println(key+':'+value); } /* //先获取map集合的所有键的Set集合,keySet(); Set<String> keySet = map.keySet(); //有了Set集合。就可以获取其迭代器。 Iterator<String> it = keySet.iterator(); while(it.hasNext()) { String key = it.next(); //有了键可以通过map集合的get方法获取其对应的值。 String value = map.get(key); System.out.println('key:'+key+',value:'+value); } */ }} /*Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。interface Map{ public static interface Entry { public abstract Object getKey(); public abstract Object getValue(); }}class HashMap implements Map{ class Hahs implements Map.Entry { public Object getKey(){} public Object getValue(){} } }*/

以上这篇Java实现将容器 Map中的内容保存到数组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。

标签: Java
相关文章: