您的位置:首页 > 其它

List和Map常用的几种遍历方式

2017-04-24 08:32 316 查看
遍历一个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+",");
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: