Collection 和 Map 遍历过程的区别

来源:互联网 发布:linux部署javaweb项目 编辑:程序博客网 时间:2024/06/11 09:52

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);}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);}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);}

}

0 0
原创粉丝点击