java Map
来源:互联网 发布:怎么搬家划算 知乎 编辑:程序博客网 时间:2024/06/12 00:12
map
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
特点:1,数据保存以键值对的方式存储,一个key 对应着一个value
2,键是唯一的
Map<key,value>
Map<String, Integer> map = new HashMap<>();//添加键值对方法的返回值,返回是被覆盖值Integer num1 = map.put("c", 18);Integer num2 = map.put("b", 16);Integer num3 = map.put("a", 28);Integer num4 = map.put("c", 19);System.out.println(num1);System.out.println(num2);System.out.println(num3);System.out.println(num4); System.out.println(map);
nullnullnull18{a=28, b=16, c=19}可以看出 ,map是输出并不按照输入顺序来,所以有无序性,
出现两次key键c,因键的唯一性,所以只保留第一个键,而值会有新的覆盖掉旧的;
map.put() 向map中添加键值对的方法,返回值是被覆盖掉的旧value值
map的方法摘要
void map.clear(); 从此映射中移除所有映射关系
boolean map.containsKey(key) 如果此映射包含指定键的映射关系,则返回 true。
boolean map.containsValue(value) 如果此映射将一个或多个键映射到指定值,则返回 true。
boolean map.equals () 比较指定的对象与此映射是否相等
map.get(key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
。
Set<K> map.keySet() 返回此映射包含的键的Set视图
isEmpty() 如果此映射未包含键-值映射关系,则返回 true。
map.put(key,value) 将指定的值与此映射中的指定键关联
map.putAll() 从指定映射中将所有映射关系复制到此映射中
remove(key) 如果存在一个键的映射关系,则将其从此映射中移除
size() 返回此映射中的键-值映射关系数
HashMap
map的三种遍历方式(key转入集合遍历实现)
1,使用map.keySet() 将map中key存入一个集合
然后集合迭代器遍历key值
使用map.get(key),根据key遍历value
HashMap<String, Integer> map = new HashMap<>();map.put("h6", 18);map.put("玄觞", 19);map.put("星辰", 20);map.put("大海", 21);Set<String> set = map.keySet();Iterator<String> iterator = set.iterator();while (iterator.hasNext()) {String key = iterator.next();Integer value = map.get(key);System.out.println(key + "," + value);}System.out.println(map);}
2 map.keySet() 将all key存入集合set,for循环遍历,
HashMap<String, Integer> map = new HashMap<>();map.put("h6", 18);map.put("玄觞", 19);map.put("星辰", 20);map.put("大海", 21);Set<String> set = map.keySet();for (String key : set) {Integer value = map.get(key);System.out.println(key + "," + value);}
3 map.entrySet()获取map所有的映射关系放入集合set
HashMap<String, Integer> map = new HashMap<>();map.put("h6", 18);map.put("玄觞", 19);map.put("星辰", 20);map.put("大海", 21);//获取map中所有的entry对象set的集合Set<Entry<String,Integer>> entrySet = map.entrySet();Iterator<Entry<String, Integer>> iterator = entrySet.iterator();while(iterator.hasNext()) {//取出Entry对象Entry<String, Integer> next = iterator.next();//从entry对象中获取key valueString key = next.getKey();Integer value = next.getValue();}
LinkedHashMap 有着链表的特点,有序
TreeMap
Treeset的底层实现就是Treemap, 去重和排序操作相当于对Treemap的key键操作,
//TreeMap 可以对map中键进行排序//向TreeMap key是学生 value是户籍 添加三个键值对//并按年龄排序TreeMap<Student,String> map = new TreeMap<>();map.put(new Student("熊",12),"北极");map.put(new Student("杨柳",13),"太平洋");map.put(new Student("企鹅",11),"南极 ");System.out.println(map);
- java Map Map.Entry
- java map
- java map
- Java - Map
- java map
- java Map
- java--Map
- Java Map
- Java Map
- Java-Map
- [Java] Map
- 【Java】Map
- Java-Map
- java .map()
- Java Map
- Java - Map
- Java - Map
- java MAP
- LeetCode | 734. Sentence Similarity
- JS:offsetWidth\offsetleft 等属性&图片连续滚动的实现
- MySQL 事件调度器(Event Scheduler)创建定时任务
- 如何在bibtex中引用一个网站
- 快排的两种方式
- java Map
- 403. Frog Jump
- LeetCode | 728. Self Dividing Numbers
- 结构体专题
- c# 透明textbox,透明richtextbox
- Bootstrap 使用
- 利用TensorFlow训练简单的RNN
- apache kafka系列之源码分析走读-kafkaApi详解
- Epubor All DRM Removal(电子书DRM版权保护移除工具)官方中文版V1.0.15.1215下载