java-集合框架-Map
2021/11/11 22:11:17
本文主要是介绍java-集合框架-Map,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Map集合
Map接口特点:
- 用于存储任意键值对(Key-Value);
- 键:无序、无下标、不允许重复(唯一);
- 值:无序、无下标、允许重复。
特点:存储一对数据(Key-Value),无序、无下标、键不可重复、值可以重复。
方法:
V put(K key,V value);//将对象存储到集合中,关联键值。key重复则覆盖原值。 Object get (Object key);//根据键获取对应的值。 keySet <key>;//返回所有key。 Collection<V> values();//返回包含所有值的Collection集合。 Set <Map.Entry<K,V>>; //键值匹配的Set集合。
基本使用:
import java.util.HashMap; import java.util.Map; /** * Map接口的使用 * 特点:(1)存储键值对(2)键不能重复,值可以重复(3)无序 */ public class Demo01 { public static void main(String[] args) { //创建Map集合 Map<String, String> map = new HashMap<>(); //添加元素 map.put("CN","中国"); map.put("UK","英国"); map.put("USA","美国"); // map.put("CN","zhongguo");//值会被替换,键不可以重复 // map.put("China","zhongguo");//值可以重复 System.out.println("元素个数:"+map.size()); System.out.println(map.toString()); //删除 map.remove("USA"); System.out.println("删除之后:"+map.size()); System.out.println(map.toString()); //遍历 //使用keySet(); System.out.println("———————————————keySet()遍历—————————————————"); for (String s : map.keySet()) { System.out.print(s+"——>"+map.get(s)+"\t"); } System.out.println("\n———————————————entrySet()遍历(效率更高 )—————————————————"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.print(entry.getKey()+"-->"+entry.getValue()+"\t"); } System.out.println(); //判断 System.out.println(map.containsKey("CN")); System.out.println(map.containsValue("泰国")); System.out.println(map.isEmpty()); } }
Map集合实现类
HashMap【重点】:
- JDK1.2版本,线程不安全,运行效率高 ,允许使用null作为key或者value;
- HashMap();构造一个初始容量为16和默认加载因子为0.75的空HashMap。
import java.util.HashMap; import java.util.Map; /** * HashMap集合的使用 * 存储结构:哈希表(数组+链表+红黑树) */ public class Demo02 { public static void main(String[] args) { //创建对象 HashMap<Student, String> hashMap = new HashMap<>(); Student p1 = new Student("张学友", 20); Student p2 = new Student("刘德华", 19); Student p3 = new Student("郭富城", 18); Student p4 = new Student("黎明", 18); //添加元素 hashMap.put(p1,"歌神"); hashMap.put(p2,"综合王"); hashMap.put(p3,"舞王"); hashMap.put(p4,"文艺王"); hashMap.put(new Student("张学友",20),"music"); System.out.println("元素个数:"+hashMap.size()); System.out.println(hashMap.toString()); //删除元素 // hashMap.remove(p1); // hashMap.clear(); // System.out.println("元素个数:"+hashMap.size()); // System.out.println(hashMap.toString()); //遍历 System.out.println("——————————————————keySet方法——————————————————————————"); for (Student student : hashMap.keySet()) { System.out.print(student.toString()+"-->"+hashMap.get(student)+"\t"); } System.out.println(); System.out.println("——————————————————entrySet方法——————————————————————————"); for (Map.Entry<Student, String> entry : hashMap.entrySet()) { System.out.print(entry.getKey()+"-->"+entry.getValue()+"\t"); } System.out.println(); //判断 System.out.println(hashMap.containsKey(new Student("张学友", 20))); System.out.println(hashMap.containsKey(p1)); System.out.println(hashMap.containsValue("文艺王")); } }
这篇关于java-集合框架-Map的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30java最新版本是什么,有什么特性?-icode9专业技术文章分享
- 2024-11-30[开源]27.8K star!这款 Postman 替代工具太火了!
- 2024-11-30Gzip 压缩入门教程:轻松掌握文件压缩技巧
- 2024-11-29开源工具的魅力:让文档管理更“聪明”
- 2024-11-29Release-it开发入门教程
- 2024-11-29Rollup 插件入门教程:轻松掌握模块打包
- 2024-11-29从零到一,产品经理如何玩转项目管理和团队协作
- 2024-11-29如何通过精益生产管理工具帮助项目团队实现精准进度控制?
- 2024-11-29低代码应用开发课程:新手入门与基础教程
- 2024-11-29入门指南:全栈低代码开发课程