文档章节

性能细节1

weiliu007
 weiliu007
发布于 2016/08/25 19:36
字数 267
阅读 14
收藏 1

遍历Map

public static void main(String[] args) {
  Map<String, String> map = new HashMap<String, String>();
  map.put("1", "value1");
  map.put("2", "value2");
  map.put("3", "value3");
}

 //第一种:普遍使用,二次取值

  System.out.println("通过Map.keySet遍历key和value:");
  for (String key : map.keySet()) {
   System.out.println("key= "+ key + " and value= " + map.get(key));
  }

//第二种

  System.out.println("通过Map.entrySet使用iterator遍历key和value:");
  Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
  while (it.hasNext()) {
   Map.Entry<String, String> entry = it.next();
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }

 //第三种:推荐,尤其是容量大时

 System.out.println("通过Map.entrySet遍历key和value");
  for (Map.Entry<String, String> entry : map.entrySet()) {
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }

 //第四种

  System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
  for (String v : map.values()) {
   System.out.println("value= " + v);
  }
 }

当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。

循环内不要不断创建对象引用

for (int i = 1; i <= count; i++) 
 
{ 
 
Object obj = new Object(); 
 
} 

这种做法会导致内存中有count份Object对象引用存在,count很大的话,就耗费内存了,建议为改为:

Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }

 

© 著作权归作者所有

weiliu007
粉丝 16
博文 171
码字总数 84810
作品 0
深圳
程序员
私信 提问
Mallmold 2.0 发布,外贸电子商务系统

你还在忍受magento的繁杂巨慢吗?你还在为zencart的糟糕烦恼吗?尝试一下mallmold,快感油然而生! Mallmold(摩登电子商务系统)是一个开源的php商城系统,以高标准开发而成,功能强大并且性能...

hellogirl
2013/12/03
1K
9
vSAN快讯 - IDC数据表明: 2017年上半年, vSAN摘取全球超融合架构软件市场桂冠

VMware 在2017-11-30发布2018财年第三季度的报告,整体营收19.8亿美元,同比增长11% 关心VMware vSAN发展状况的朋友,会发现: 根据IDC 2017年按季度对融合系统的跟踪,2017年上半年 ,VMwar...

urh3t1
2017/12/01
0
0
深入了解 IBM DB2 高级企业版

简介: IBM® DB2® Advanced Enterprise Server Edition(AESE)是将 IBM DB2 Enterprise Server Edition V9.7 与优化、开发、管理工具打包在一起销售的软件包。这是用于管理 DB2 环境关键方...

IBMdW
2011/06/24
1K
1
PHP 7.2 Beta 的 Benchmarks 测试:PHP 仍然越来越快

PHP 7.2 Beta 1 已于上周发布,预计将于 11 月发布正式版。 PHP 7.2 Beta 1 实现了更多的 Sodium 扩展,针对现代和易于使用的加密、改进 opcache、无效 UTF-8 数据更好的 JSON 解码这些方面,...

局长
2017/07/31
3.3K
41
码云增加 Release 功能,支持 Sonar 优测同时分析

开源中国码云代码托管平台又迎来一大波更新啦。其中最值得关注的就是增加了 Release 的功能,同时代码的分析支持同时开启 Sonar 和优测分析,也就是说一个 Android 项目,既可以检查代码编写...

oschina
2016/03/24
5.3K
14

没有更多内容

加载失败,请刷新页面

加载更多

让《强化学习(第2版)》架起一座通往强化学习经典知识宝库的桥梁

上交大计算科学与工程系俞凯教授,5分钟口述讲解,带你快速认识了解年度重磅图书《强化学习(第二版)》! 在 AlphaGo战胜李世石之后,AlphaZero以其完全凭借自我学习超越人类在各种棋类游戏...

博文视点Bv
20分钟前
6
0
TLA7-EVM开发板的处理器、NOR FLASH、DDR3

TLA7-EVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm*50mm,底板采用沉金无铅工艺的6层板设计,专业的PCB...

Tronlong创龙
29分钟前
4
0
UUID的变种-有序

为了解决UUID无序的问题,NHibernate在其主键生成方式中提供了Comb算法(combined guid/timestamp)。保留GUID的10个字节,用另6个字节表示GUID生成的时间(DateTime)。 /// <summary> //...

Canaan_
30分钟前
4
0
Netty学习(6)——通道间数据传输

1. FileChannel实现通道间的数据传输 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel传输到另外一个channel。 transferFrom() FileChannel的transferF...

江左煤郎
33分钟前
3
0
AngularDOM操作

gtandsn
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部