结论:无论是数组还是Collection for each 都是一个非常好的选择

一、for each底层实现

对于Collection,for each是隐式调用Iterator实现的,效率比显示调用Iterator略低,对于Array,for each是通过对下标引用实现的,效率比for循环要略低。for each返回的是Collection一个对象,因此不能用for each进行赋值操作。

二、Collection实现了java.lang.Iterable接口具有java.util.Iterator<E> iterator(),所以List、Queue、Set均可使用for each方式遍历。

三、HashMap三种遍历方式:

map.entrySet()会返回一个Set<Entry<K,V>>,然后使用for each(隐式调用Iterator)

Map<String, String> map = new HashMap<String, String>();
for (Entry<String, String> entry : map.entrySet()) {
entry.getKey();
entry.getValue();
}

 ②map.keySet()会返回一个Set<Key>,然后使用for each(隐式调用Iterator)

Map<String, String> map = new HashMap<String, String>();
for (String key : map.keySet()) {
map.get(key);
}

 ③map.value()会返回一个Collection<Value>,然后使用for each(隐式调用Iterator)

Array转List

String[] strArray = {"aaa", "bbb", "ccc"};   
List list= Arrays.asList(strArray);

注意list为ArrayList类型,但和java.util.ArrayList是不一样的。StrArray必须为对象数组,如果为基本类型数组的话,list.size()为1,

Collection转数组
直接使用Collection的toArray()方法

Map转Collection
直接使用Map的values()方法。
List和Set转换

直接通过构造函数传递一个Collection对象即可。

参考文献:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526822.html

最新文章

  1. 一次 surface pro 3 的售后保修 黑色三月维权(HSD)
  2. 【面试必备】javascript的原型和继承
  3. 浅谈python web框架中的orm设计
  4. AutoFac使用~IOC容器(DIP,IOC,DI)
  5. 内网能PING通TELNET通不能访问解决
  6. 多云时代,海外微软Azure云与国内阿里云专线打通性能测试
  7. 0_Simple__matrixMulCUBLAS
  8. ASP.NET Core 发布 centos7 配置守护进程
  9. Ubuntu 16.04安装sogou 拼音输入法
  10. Ubuntu上安装git和创建工作区和提交文件!!!
  11. ScrollView中嵌套GridView,Listview的办法
  12. C++中三种创建对象的方法【转】
  13. RecycleView实现侧滑删除item
  14. Data_Structure03-栈和队列
  15. [BZOJ4027]兔子与樱花
  16. codeforces246E Blood Cousins Return
  17. 【项目 部署】部署项目web context root,项目跟路径跟项目实际名称不符
  18. jsoup: Java HTML Parser
  19. mac10.10 打造Python多版本虚拟环境
  20. Day 7 Linux之系统监控、硬盘分区等

热门文章

  1. android自定义控件(1)-点击实现开关按钮切换
  2. PHP如何实现页面静态化
  3. UIView不接受触摸事件的三种情况
  4. RNA测序样本检测
  5. 在Xcode6.4中使用OpenCV
  6. git之create local reposition(创建本地仓库)
  7. CSS使用自定义光标样式-遁地龙卷风
  8. html5 图片转为base64格式异步上传
  9. 为在韶大痛苦而不能用手机、Pad等上网的同志造福!
  10. 写给喜欢用Block的朋友(ios Block)