HashMap和TreeMap两者都是Map,java中的Map以键值对来存储数据,通过键--key来索引值--value。
HashMap通过hashcode对其内容进行快速查找,其结果时无序的;TreeMap中的所有元素都默认进行了排序,所以当需要一个有序的结果时,使用TreeMap是比较方便的。
具体的定义和遍历方法,可以看下面的例子:
package com.yeetrack.java.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; /** * Created with IntelliJ IDEA. * User: youthflies * Date: 13-2-22 * Time: 下午4:51 * To change this template use File | Settings | File Templates. */ public class TestMap { public static void main(String[] args) { HashMap hashmap = new HashMap<String, String>(); hashmap.put("username", "youthflies"); hashmap.put("age", "14"); hashmap.put("password", "youthflies"); //entrySet返回hashmap中包含的映射关系的 Set 视图。也是一个Set,而Set中每个元素是内部类Map.Entry。 Iterator iterator = hashmap.entrySet().iterator(); while(iterator.hasNext()) { //获取Set视图中的每一项 Map.Entry entry = (Map.Entry)iterator.next(); System.out.println(entry.getKey()+"--->"+entry.getValue()); } //keyset是获取hashmap中的key的视图,只包含key,没有value Iterator iter = hashmap.keySet().iterator(); while (iter.hasNext()) { Object object = iter.next(); //hashmap.get()再通过key来获取value System.out.println(object+"--->"+hashmap.get(object)); } //treemap会对key自动进行自然排序 TreeMap treeMap = new TreeMap(); treeMap.put("username", "youthflies"); treeMap.put("age", 14); treeMap.put("password", "youthflies"); Iterator iterator2 = treeMap.entrySet().iterator(); while(iterator2.hasNext()) { Map.Entry entry = (Map.Entry)iterator2.next(); System.out.println(entry.getKey()+"--->"+entry.getValue()); } } }
上面的输出结果为:
username--->youthflies age--->14 password--->youthflies username--->youthflies age--->14 password--->youthflies //下面是treemap输出 age--->14 password--->youthflies username--->youthflies
易踪网(yeetrack.com)
版权声明
本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。
© 空空博客,本文链接:https://www.yeetrack.com/?p=29
近期评论