文档章节

Collection 和 Map 遍历过程的区别

刘付kin
 刘付kin
发布于 2016/12/07 11:00
字数 231
阅读 8
收藏 0

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

© 著作权归作者所有

共有 人打赏支持
刘付kin
粉丝 6
博文 98
码字总数 71383
作品 0
深圳
集合(四)Map

Collection集合和Map集合的区别: a: Map集合属于双列集合 , Collection属于单列集合 b: Map集合键是唯一性的, 而Collection集合中的Set集合可以保证元素的唯一性 c: Map集合的数据结构只和键...

centrald
2016/01/29
119
0
【JavaSE(十一)】Java集合框架(下)

原文地址:https://www.cloudcrossing.xyz/post/43/ 1 Map集合 1.1 Map集合概述 Map是将键和值一 一映射的对象,可以通过键来获取值。一个映射不能包含重复的键;每个键最多只能映射到一个值...

苍云横渡
05/25
0
0
40个Java集合面试问题和答案

1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使 用,Java1.2提出了囊括所有集...

赵小宾
2015/05/12
0
0
Java的集合框架最全详解(图)

java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数...

浮躁的码农
2015/07/29
0
0
Java集合框架面试题

1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集...

火力全開
2016/10/09
19
0

没有更多内容

加载失败,请刷新页面

加载更多

h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
32分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
34分钟前
1
0
Windows命令行使用Git下的Curl命令

今天在windows上安装SpaceVim时,提示需要安装Git和curl,安装了Git,原本以为要通过mingw或者cygwin来安装curl(这样就麻烦了),最后发现原来Git已经自带curl命令,我们只需要将其配置以下...

yxmsw2007
36分钟前
1
5
shell中的函数-shell中的数组-告警系统需求分析

shell中的函数: 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 格式: 格式: function 函数名称() { command } #f...

ZHENG-JY
38分钟前
1
0
ffmpeg对mp4文件进行ts切片并生成m3u8文件

首先可以通过ffprobe查看视频信息 (可选) 执行: ./ffprobe Beach-Ball.mp4 iZm5ecuy8n2epwa3gno33xZ:/opt/yizhichao/ffmpeg-4.0.2-64bit-static # ./ffprobe Beach-Ball.mp4 ffprobe v......

yizhichao
45分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部