Java:HashMap和TreeMap的常用方法及使用 | 您所在的位置:网站首页 › integer的常用方法 › Java:HashMap和TreeMap的常用方法及使用 |
首先我们来了解一下Map接口 (1)MapMap包含了一系列“键(key)-值(values)”之间的映射关系,一个Map对象可以看作是一个“键-值”对的集合,在该集合中可以通过一个键找到其对应的值。 该接口是独立于Collection接口体系的,Map体系中所有类和接口的方法都源自于Map接口。 我们使用到的实现Map接口的类主要为HashMap类和TreeMap类。 (2)HashMapHashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。 由于采用了Hash函数,对于Map的普通操作性能是稳定的,但如果使用iterator访问Map,为了获得高的运行效率最好在创建HashMap时不要将它的容量设得太大。 创建HashMap public static void main(String[] args) { // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型 Map hashMap = new HashMap(); } HashMap集合的常用方法put(key,value); //往集合中添加元素,key 值不可重复,重复时会覆盖之前的 value 值 get(Object key); //返回指定键的值(value),若不存在则返回null remove(Object key); //根据 key 或者 key-value 去除集合中元素,并分别返回 value 值和 Boolean 值 boolean containsKey(Object key); //如果此映射包含指定键的映射,则返回true 。 boolean containsValue(Object value); //如果此映射将一个或多个键映射到指定的值,则返回true 。 int size(); //返回集合长度 boolean isEmpty(); //判断集合是否为空 void clear(); //清除集合中的所有元素 values(); //返回一个新集合,获取集合中所有元素的 values keySet(); //返回一个新集合,获取集合中所有元素的 key 常用方法代码示例: public static void main(String[] args) { // 创建 HashMap 集合,key存储字符串类型,value存储整数类型 Map hashMap = new HashMap(); // 添加元素 hashMap.put("李四",28); hashMap.put("张三",26); hashMap.put("王五",26); // 根据 key 获取 value 值 Integer zs = hashMap.get("张三"); System.out.println(zs); // 获取所有 key 值 Set strings = hashMap.keySet(); System.out.println(strings); // 获取所有 value 值 Collection values = hashMap.values(); System.out.println(values); // 根据 key 去除元素 Integer ww = hashMap.remove("王五"); System.out.println(ww); // 根据 key-value 去除元素 boolean boole = hashMap.remove("李四", 28); System.out.println(boole); System.out.print(hashMap); }结果示例: 26[李四, 张三, 王五][28, 26, 26]26true{张三=26} (3)TreeMapTreeMap类和TreeSet类相似,是基于红黑树实现的,是采用一种有序树的结构实现了Map的子接口SortedMap。该类将按键的升序的次序排列元素。 创建TreeMap public static void main(String[] args) { // 创建 TreeMap 集合,key 存储字符串类型,value 存储整数类型 Map map = new TreeMap(); } TreeMap的常用方法clear(); //清除集合中的所有元素 boolean containsKey(Object key); //如果此映射包含指定键的映射,则返回true boolean containsValue(Object value); //如果此映射将一个或多个键映射到指定的值,则返回true int size(); //返回集合长度 get(Object key); //返回指定键的值(value),若不存在则返回null firstKey(); //返回当前映射中的第一个键 lastKey(); //返回当前映射中的最后一个键 (4)HashMap和TreeMap的遍历方法1.先得到key值,再使用iterator遍历集合 TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); Set t = map.getKey(); Iterator it = t.iterator(); Integer key = null; //必须先进行key值的声明 while (it.hasNext()) { key = (Integer)it.next(); String value = map.get(key); System.out.println(value); }2.先得到key值,再使用增强for进行遍历(推荐使用增强for) TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); for(int key:map.getKey){ System.out.println(map.get(key)); }3.直接通过value值,使用iterator遍历 TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); Collection t = map.values(); Iterator it = t.Iterator(); String value = null; //必须声明 while(it.hasNext()){ value = (String)it.next(); System.out.println(value); }4.直接通过value值,使用增强for遍历(推荐使用增强for) TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); for(String value:map.values()){ System.out.println(value); } |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |