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

遍历一个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+",");
	 }

  

posted @ 2017-04-24 08:32  ATJAVA  阅读(443)  评论(0编辑  收藏  举报