精华内容
下载资源
问答
  • for循环map

    2019-12-01 21:06:23
    Map<String, Object> printTypeAndModel = (Map<String, Object>)transObj.get("printTypeAndModel...for(Map.Entry<String, Object> oneMap : printTypeAndModel.entrySet()) { String key = o...
    Map<String, Object> printTypeAndModel = (Map<String, Object>)transObj.get("printTypeAndModel");
    for(Map.Entry<String, Object> oneMap : printTypeAndModel.entrySet()) {
    	String key = oneMap.getKey();
    	String value = CommonUtils.toString(oneMap.getValue());                         
    }
    

    *CommonUtils.toString是公司自己封装的方法,就是转换成字符串。

    展开全文
  • 据JDK5的新特性,用For循环Map,例如循环Map的Key复制代码 代码如下:for(String dataKey : paraMap.keySet()) {System.out.println(dataKey );}注意的是,paraMap 是怎么样定义的,如果是简单的Map paraMap = new ...

    据JDK5的新特性,用For循环Map,例如循环Map的Key

    复制代码 代码如下:

    for(String dataKey : paraMap.keySet())   {

    System.out.println(dataKey );

    }

    注意的是,paraMap 是怎么样定义的,如果是简单的Map paraMap = new HashMap ();那前面的String就只能换成Object了.

    循环整个map的key和value

    复制代码 代码如下:

    Map map = new LinkedHashMap();

    map.put(1, "星期一");

    map.put(2, "星期二");

    map.put(3, "星期三");

    map.put(4, "星期四");

    map.put(5, "星期五");

    map.put(6, "星期六");

    map.put(7, "星期日");

    for(Map.Entry entry: map.entrySet()) {

    System.out.print(entry.getKey() + ":" + entry.getValue() + "\t");

    }

    输出:

    1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 7:星期日

    展开全文
  • 这篇文章主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在《for循环实战性能优化》中提出了五种提升for循环性能的...

    这篇文章主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    在《for循环实战性能优化》中提出了五种提升for循环性能的优化策略,这次我们在其中嵌套循环优化小循环驱动大循环的基础上,借助Map集合高效的查询性能来优化嵌套for循环。

    如果小循环和大循环的集合元素数量分别为M和N,则双层For循环的循环次数是M*N,随着M和N的增长,对性能的影响越来越大。因此,本文考虑进一步优化,使得循环次数变为M+N。利用下面的代码来模拟测试两种情况的性能:

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Map;

    import java.util.function.Function;

    import java.util.stream.Collectors;

    public class ForUpdate {

    public static void main(String[] args) {

    // for (int i = 0; i < 10000; i += 10) {

    // loopGivenNum(i);

    // }

    for (int i = 10000; i < 100000; i += 10000) {

    loopGivenNum(i);

    }

    System.out.println("----- done -----");

    }

    private static void loopGivenNum(int i) {

    List smallLoop = getLoopList(i);

    List bigLoop = getLoopList(2 * i);

    long doByForTimes = doByFor(bigLoop,smallLoop);

    long doByMapTimes = doByMap(bigLoop,smallLoop);

    System.out.println("size " + i + ": " + doByForTimes + "," + doByMapTimes);

    }

    /**

    * 获取循环变量

    * @param size 循环变量元素个数

    */

    private static List getLoopList(int size) {

    List list = new ArrayList<>();

    for (int i = 0; i < size; i++) {

    list.add(String.valueOf(i));

    }

    return list;

    }

    private static long doByFor(List bigLoop,List smallLoop) {

    long startTime = System.currentTimeMillis();

    for (String str1 : smallLoop) {

    for (String str2 : bigLoop) {

    if (str1.equals(str2)) {

    continue;

    }

    }

    }

    return System.currentTimeMillis() - startTime;

    }

    /**

    * 使用 Map 优化

    * @param bigLoop

    * @param smallLoop

    */

    private static long doByMap(List bigLoop,List smallLoop) {

    long startTime = System.currentTimeMillis();

    // 转换成map

    Map loopMap = bigLoop.stream().collect(Collectors.toMap(k -> k,Function.identity()));

    System.out.println(loopMap.size());

    for (String str1 : smallLoop) {

    if (loopMap.containsKey(str1)) {

    continue;

    }

    }

    return System.currentTimeMillis() - startTime;

    }

    }

    输出结果:

    size 10000: 756,97

    size 20000: 3091,8

    size 30000: 4342,7

    size 40000: 8848,7

    size 50000: 16317,7

    size 60000: 31652,7

    size 70000: 37078,7

    由此可见,数据量越大嵌套For循环执行时间越长,而使用Map后,纵使数据量增长到了20w,执行时间也维持在7ms左右。数据量小的时候,执行结果就不再贴出来了。

    结论:使用Map优化后的方法执行的效率比嵌套循环提高了很多很多。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    相关文章

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 进入 根据JDK的新特性,用For循环Map,例如循环Map的Key java 代码 for(String dataKey : paraMap.keySet()) { System.out.println(dataKey ); } 这里要注意的是,paraMap是怎么样定义的,如果是简单的Map para欢迎进入...

    欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 根据JDK的新特性,用For循环Map,例如循环Map的Key java 代码 for(String dataKey : paraMap.keySet()) { System.out.println(dataKey ); } 这里要注意的是,paraMap是怎么样定义的,如果是简单的Map para

    欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    根据JDK的新特性,用For循环Map,例如循环Map的Key

    java 代码

    for(String dataKey : paraMap.keySet())

    {

    System.out.println(dataKey );

    }

    这里要注意的是,paraMap是怎么样定义的,如果是简单的Map paraMap = new HashMap();那前面的String就只能换成Object了.

    对整Map的key和value都进行循环,如下:

    java 代码

    for(Map.Entry entry : paraMap.entrySet())

    {

    System.out.println(entry.getKey()+": "+entry.getValue());

    }

    要是在以前,则是这么循环的:

    Iterator it = paraMap.entrySet().iterator();

    while (it.hasNext())

    {

    Map.Entry pairs = (Map.Entry)it.next();

    System.out.println(pairs.getKey() + " = " + pairs.getValue());

    }

    10kzfmu1qse.png

    展开全文
  • 本篇文章主要介绍了Java用for循环Map,需要的朋友可以过来参考下,希望对大家有所帮助
  • 这篇文章主要介绍了java for循环map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在《for循环实战性能优化》中提出了五种提升for循环性能的...
  • 主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 这篇文章主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在《for循环实战性能优化》中提出了五种提升for循环性能的...
  • Java for循环Map集合优化实现解析发布于 2021-1-10|复制链接摘记: 这篇文章主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...
  • Java:for循环Map

    2014-07-31 12:09:26
    根据JDK5的新特性,用For循环Map,例如循环Map的KeyMap<String,String>requestMap for(StringdataKey:requestMap.keySet()){ System.out.print(dataKey+":"); System.out.println(requestMap...
  • java用For循环Map

    2013-11-13 14:30:04
    关键字: java foreach map 根据JDK的新特性,用For循环Map,例如循环Map的Key java 代码 for(String dataKey : paraMap.keySet()) {  Syst
  • java中for循环Map

    2011-05-17 10:07:35
    根据JDK5的新特性,用For循环Map,例如循环Map的Key Java代码 for(String dataKey : paraMap.keySet()) { System.out.println(dataKey ); }   注意的是,paraMap 是怎么样定义的,如果是简单的Map paraMap = new...
  • Java用for循环Map

    2014-11-21 21:23:00
    根据JDK5的新特性,用For循环Map,例如循环Map的Key for(String dataKey : paraMap.keySet()) {   System.out.println(dataKey );  } 注意的是,paraMap 是怎么样定义的,如果是简单的Map paraMap = ...
  • for循环map,并取出key和value的值

    千次阅读 2019-08-20 16:05:47
    for(Entry<String, String> vo : map.entrySet()){ vo.getKey(); vo.getValue(); System.out.println(vo.getKey()+" "+vo.getValue()); }
  • for(map<int,int>::iterator it = m.begin();it != m.end();it++) { cout << "[" << it->first << "]=" << it->second << endl; } std::map<int,std::string>
  • 根据JDK5的新特性,Java中用for循环取Map,例如循环Map的Keyview sourceprint?1 for(String dataKey : paraMap.keySet()) {2 System.out.println(dataKey );3 }注意的是,paraMap 是怎么样定义的,如果是简单的Map ...
  • 之前在某个资料上看的,于是轻信...我们分别使用map函数、列表推导式、for循环傻瓜式三种方式进行处理。并计算出每一种方式执行100次的总耗时。实验环境:window10python2.7pycharm代码如下: def xunhuan(x): re...
  • 循环 for for in map

    2018-12-11 11:53:09
    js循环的方法有很多种,我经常用的是map,感觉什么都可以用map循环来实现,今天查找了下其他的循环方式,发现好多人分析了for 和 for in 的区别,也让我重新对...用for循环和for in 循环达到的效果是相同的。 fo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,307
精华内容 2,122
关键字:

for循环map