遍历一个List有以下几种方法:
/*//1.普通for循环的方式:
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+",");
}*/ /*//2.foreach的方式:
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for(String str:list){
System.out.print(str+",");
}*/ /*//3.把链表变为数组再遍历的方式:
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
String[] array=new String[list.size()];
list.toArray(array);
for(String str:array){
System.out.print(str+",");
}*/ /*// 4.迭代器遍历的方式:
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
Iterator< String> iterator=list.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next()+",");
}*/

  

遍历一个List使用迭代器更加线程安全,因为它可以确保,在当前遍历的集合元素被更改的时候,它会抛出ConcurrentModificationException。

  

遍历map方法有以下几种:
/*//1.通过Map.keySet遍历的方式:
Map<String,String> map=new HashMap<String,String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
Set<String> keySet=map.keySet();
for(String key:keySet){
System.out.print(key+"="+map.get(key)+",");
}*/ /*//2.通过Map.entrySet遍历的方式:
Map<String,String> map=new HashMap<String,String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
Set<Entry<String,String>> entrySet=map.entrySet();
for(Entry<String,String> entry:entrySet){
System.out.print(entry.getKey()+"="+entry.getValue()+",");
}*/ /*//3.通过Map.entrySet使用iterator遍历的方式:
Map<String,String> map=new HashMap<String,String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
Iterator<Map.Entry<String, String>> iter= map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, String> entry = iter.next();
System.out.print(entry.getKey()+"="+entry.getValue()+",");
}*/ //4.通过Map.values()遍历所有的value,但不能遍历key的方式:
Map<String,String> map=new HashMap<String,String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
for(String value:map.values()){
System.out.print(value+",");
}

  

最新文章

  1. 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 1
  2. 即时通信系统中如何实现:聊天消息加密,让通信更安全? 【低调赠送:QQ高仿版GG 4.5 最新源码】
  3. ElasticSearch快照备份及恢复
  4. iOS视频压缩存储至本地并上传至服务器-b
  5. (转载)关于having 1=1 和group by 爆表的思考和总结
  6. 解耦——Hybrid H5跨平台性思考
  7. access数据库的连接字符串以及数据库操作类
  8. hdu 5040 BFS 多维化处理图
  9. .Net Core 之 MSBuild 介绍
  10. vue 和 react 学习 异同点
  11. Linux kernel 之 socket 创建过程分析
  12. class文件打包成jar
  13. raphael.js 给元素 hover 添加glow() 外发光
  14. 编程算法 - 迷宫的最短路径 代码(C++)
  15. 尚硅谷JavaSEday18 String类练习题
  16. spring答题
  17. VRSProcess(一)
  18. java面试第九天
  19. #leetcode刷题之路24-两两交换链表中的节点
  20. hdu 3605(二分图多重匹配)

热门文章

  1. spirng: srping mvc配置(访问路径配置)搭建SpringMVC——最小化配置
  2. HDU 4531 bfs/康拓展开
  3. 18-THREE.JS 基本材质
  4. 远程登录MySQL
  5. input text 不显示输入的历史记录
  6. react privateRoute
  7. request.setAttribute(&quot;username&quot;, username);//一定要保存,OGNL才能获取${username}
  8. 【git】新建一个git仓库的方法
  9. 提高看log效率的小工具
  10. canvas 创建颜色渐变柱状图