Collection 和 Map 遍历过程的区别
Collection 和 Map 遍历过程的区别
刘付kin 发表于1年前
Collection 和 Map 遍历过程的区别
  • 发表于 1年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

#1:Collection 和 Map 都是Java体系为我们提供的强大集合工具,他们的遍历是最多的操作,那么他们有什么不同呢?请看如下代码

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;


public class CollectionAndMap {

	public static void main(String[] args) {
		HashMap<String , String> hashMap = new HashMap<String, String>();
		hashMap.put("name", "liufu");
		hashMap.put("gender", "nan");
		iteratorMap(hashMap);
		
		ArrayList<String> arrayList = new ArrayList<String>();
		arrayList.add("name = liufu");
		arrayList.add("gender = men");
		iteratorCollection(arrayList);
		
		Map<?, ?> map = System.getProperties();
		iteratorMap(map);
	}
	
	//Collection接口的遍历实现
	public static void iteratorCollection(Collection<?> collection){
		long startTime = System.currentTimeMillis();
		
		//collection接口实现类可以直接获取Iterator迭代器,来遍历
		Iterator<?> iterator = collection.iterator();
		while (iterator.hasNext()) {
			String valueString = (String) iterator.next();
			System.out.println(valueString);
		}
		System.out.println(System.currentTimeMillis() - startTime);
	}
	
	
	//map接口实现类的遍历实现。
	public static void iteratorMap(Map<?, ?> map){
		long startTime = System.currentTimeMillis();
		
		//map则需要先将其转化为Set然后再获取Iterator迭代器来变了
		Set<?> set = map.entrySet();
		Iterator<?> iterator = set.iterator();
		while (iterator.hasNext()) {
			Entry<?, ?> entry = (Entry<?, ?>) iterator.next();
			if(entry.getKey().toString().contains("os")){
				System.out.println(entry);
			}
		}
		System.out.println(System.currentTimeMillis() - startTime);
	}
}
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 100
码字总数 72832
×
刘付kin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: