历遍还是遍历?map集合有几种遍历方式
本文目录
历遍还是遍历
遍历是计算机术语,意思是把某个数据结构(如树形结构)的节点全部走一遍。顾名思义,因为要走完全部节点,所以叫遍历。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。访问结点所做的操作依赖于具体的应用问题, 具体的访问操作可能是检查节点的值、更新节点的值等。不同的遍历方式,其访问节点的顺序是不一样的。遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。当然遍历的概念也适合于多元素集合的情况,如数组。树的遍历简介树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次。与那些基本上都有标准遍历方式(通常是按线性顺序)的线性数据结构(如链表、一维数组)所不同的是,树结构有多种不同的遍历方式。从二叉树的根节点出发,节点的遍历分为三个主要步骤:对当前节点进行操作(称为“访问”节点)、遍历左边子节点、遍历右边子节点。这三个步骤的先后顺序也是不同遍历方式的根本区别。扩展对比历遍万水千山的历遍是经历的意思。所以这两者有本质的区别
map集合有几种遍历方式
方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Map《Integer, Integer》 map = new HashMap《Integer, Integer》();for (Map.Entry《Integer, Integer》 entry : map.entrySet()) {System.out.println(“Key = “ + entry.getKey() + “, Value = “ + entry.getValue());}注意:for-each循环在java 5中被引入所以该方法只能应用于java 5或更高的版本中。如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。方法二 在for-each循环中遍历keys或values。如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。Map《Integer, Integer》 map = new HashMap《Integer, Integer》();//遍历map中的键for (Integer key : map.keySet()) {System.out.println(“Key = “ + key);}//遍历map中的值for (Integer value : map.values()) {System.out.println(“Value = “ + value);}该方法比entrySet遍历在性能上稍好方法三使用Iterator遍历使用泛型:Map《Integer, Integer》 map = new HashMap《Integer, Integer》();Iterator《Map.Entry《Integer, Integer》》 entries = map.entrySet().iterator();while (entries.hasNext()) {Map.Entry《Integer, Integer》 entry = entries.next();System.out.println(“Key = “ + entry.getKey() + “, Value = “ + entry.getValue());}不使用泛型:Map map = new HashMap();Iterator entries = map.entrySet().iterator();while (entries.hasNext()) {Map.Entry entry = (Map.Entry) entries.next();Integer key = (Integer)entry.getKey();Integer value = (Integer)entry.getValue();System.out.println(“Key = “ + key + “, Value = “ + value);}方法四、通过键找值遍历(效率低)Map《Integer, Integer》 map = new HashMap《Integer, Integer》();for (Integer key : map.keySet()) {Integer value = map.get(key);System.out.println(“Key = “ + key + “, Value = “ + value);}总结如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。
更多文章:
vs不能用gets函数(vs2012中如何用gets函数输入字符数组)
2024年4月28日 00:10
awkward silence(awkward修饰人还是物)
2023年12月5日 01:00
launching翻译(launching ceremony和opening ceremony区别)
2024年8月25日 04:25
wxpython listbox(wxpython RadioButton 如何获取选中的值)
2024年8月21日 23:05
cracking up(i was full for love高潮部分的歌词)
2024年7月22日 08:57
idea运行struts(IDEA的Struts2配置总是失败)
2024年7月3日 00:05
工作流activity原理(java工作流怎么用activity)
2023年12月9日 20:00
多层级ui的的开发(C#多层架构中Session应该在UI层创建还是应该在BLL层创建)
2024年7月18日 06:12
表格中rank函数什么意思(excel的rank函数怎么理解)
2024年7月10日 00:38
在线文件转换器免费(2022有什么好用的免费pdf转换软件)
2024年8月19日 10:55
标签frameset(HTML<frameset>标签怎么用)
2024年6月2日 12:15
unix属于应用软件吗(一道多选题 下列软件中属于应用软件的有: A.UNIX B.Word C.汇编程序 D.C语言源程序)
2024年9月1日 15:05
sql数据库四舍五入(SQL问题,我有一列有小数点,我要想要四舍五入到整数,该怎么修改)
2024年6月29日 13:48
获取request对象(在jquery里面如何获得request对象)
2024年7月24日 08:44