专业手机网站建设公司,erp系统有哪些功能模块,wordpress简约官网,网站收缩广告文章目录 前言一、Map接口二、Map接口的实现类 1.HashMap类2.TreeMap类总结 前言 Map集合没有继承Collection接口#xff0c;不能像List集合和Set集合那样直接使用Collection接口的方法。Map集合其自身通过以key到value的映射关系实现的集合#xff0c;也有相应的许多方法。类…文章目录 前言一、Map接口二、Map接口的实现类 1.HashMap类2.TreeMap类总结 前言 Map集合没有继承Collection接口不能像List集合和Set集合那样直接使用Collection接口的方法。Map集合其自身通过以key到value的映射关系实现的集合也有相应的许多方法。类似与函数Map中不能包含相同的key每个key只能映射一个value值value值可以相同。Map集合是指Map接口以及Map接口的所有实现类。 一、Map接口 Map接口提供了将key映射到value值的对象。一个映射不能包含重复的key每个key最多只能映射到一个value值。Map集合中允许值对象value是null,而且没有个数限制。 Map接口同样提供了集合的常用方法
Map接口中的常用方法 方法功能描述put(K key,V value)向集合中添加指定的key与value的映射关系的对象containsKey(Object key)如果此映射包含指定key的映射关系则返回ture值containsValue(Object value)如果有一个或多个key映射到value值则返回ture值get(Object key)如果存在一个指定的key对象则返回对应的value值否则返回null值keySet()返回该集合中的所有key对象形成一个Set集合values()返回该集合中的所有值形成的Colllection集合size()返回map集合元素长度int值remove(Object key,Object values)删除该map集合中的指定元素replace(Object key,Object values)替换该map元素中的指定元素 示例代码
import java.util.*;public class MapDemo {public static void main(String[] args) {//创建了一个Person类构造方法为String ID,String Name,getID(),getName()用于获取People p1 new People(101, 李三);People p2 new People(102, 李四);People p3 new People(103, 王五); People p4 new People(104, 赵六);People p5 new People(105, 黄七);//以下为HashMap的代码MapString,String map new HashMap();map.put(p5.getID(), p5.getName()).map.put(p4.getID(), p4.getName());map.put(p3.getID(), p3.getName());map.put(p2.getID(), p2.getName());map.put(p1.getID(), p1.getName());//以上是对map集合存放数据System.out.println(此map集合长度map.size());System.out.println(ID为105的人是否存在map.containsKey(105));//使用keySet()方法把key存入Set集合从而可以使用Set方法中的迭代器SetString set map.keySet();IteratorString iterator set.iterator();while (iterator.hasNext()) { //遍历map集合元素String id(String)iterator.next();System.out.println(id:id name:map.get(id));}}
}运行结果 二、Map接口的实现类 Map接口常用的实现类有HashMap和TreeMap。建议使用 HashMap类来实现Map集合。HashMap类实现的Map集合添加和删除映射关系效率更高。HashMap是基于哈希表的Map接口的实现HashMap通过哈希码对其内部的映射关系进行迅速查找而TreeMap中的映射关系存在一定顺序如果希望元素排列有序应该用TreeMap实现Map集合。
1.HashMap类 HashMap类是基于哈希表的Map接口的实现。此实现提供所有可选的映射操纵。允许使用null值和null键但必须保持键的唯一性。HashMap通过映射关系进行快速查找但不保证各个元素的排放位置。但是在Java 8之后HashMap的内部实现进行了优化使得它能够保持插入顺序。这意味着当你遍历HashMap的时候它会按照元素插入的顺序进行输出。 HashMap类实现Map集合
Map map new HashMap(); 实例 public static void main(String[] args) {People p1 new People(101, 李三);People p2 new People(102, 李四);People p4 new People(104, 赵六);People p5 new People(105, 黄七);People p3 new People(103, 王五); //以下为HashMap的代码MapString,String map new HashMap();map.put(p4.getID(), p4.getName());map.put(p3.getID(), p3.getName());map.put(p2.getID(), p2.getName());map.put(p1.getID(), p1.getName());map.put(p5.getID(), p5.getName());SetString set map.keySet();IteratorString iterator set.iterator();while (iterator.hasNext()) {String id (String)iterator.next();String name (String)map.get(id);System.out.println(id:id name:name);}} 输出结果 2.TreeMap类 TreeMap类不仅实现了Map接口还实现了java.util.SortedMap接口因此集合中的映射关系具有一定的顺序。但添加、删除和查找映射关系时不如HashMap效率高。TreeMap不允许键对象为null。 TreeMap类实现Map接口
Map map new TreeMap(); 实例
import java.util.*;public class MapDemo {public static void main(String[] args) {People p1 new People(101, 李三);People p2 new People(102, 李四);People p3 new People(103, 王五); People p4 new People(104, 赵六);People p5 new People(105, 黄七);//以下为HashMap的代码MapString,String map new TreeMap();map.put(p4.getID(), p4.getName());map.put(p3.getID(), p3.getName());map.put(p2.getID(), p2.getName());map.put(p1.getID(), p1.getName());map.put(p5.getID(), p5.getName());SetString set map.keySet();IteratorString iterator set.iterator();while (iterator.hasNext()) {String id (String)iterator.next();String name (String)map.get(id);System.out.println(id:id name:name);}}
} 运行结果 总结 以上就是Map集合的相关介绍和简单使用本文仅仅简单介绍了Map方法而Map接口提供了大量能使我们快速便捷地处理键与值的函数和方法有不足或文章错误的地方欢迎在评论区中指正。