Java学习之Map与HashMap
来源:互联网 发布:刷客网络兼职可信吗 编辑:程序博客网 时间:2024/06/08 12:38
一、概念
集合中的数据,存在一一对应的映射关系
Map:将键映射到值得对象,一个映射不能包含重复的键,每个键最多只能映射到一个值
二、方法
A:删除功能
void clear():移除集合中的所有键值对元素
V remove(Object key):根据键移除键值对元素,并返回值
B:判断功能
boolean containsKey(Object key):判断集合中是否包含指定的键
boolean containsValue(Object value):判断集合中是否包含指定的值
boolean isEmpty():判断集合是否为空
C:获取功能
Set<Map.Entry<K,V>> entrySet():获取键值对对象的集合,遍历键值对对象,
利用getKey(),getValue()取出键和值(理解即可)
V get(Object key):根据键获取值
Set<K> keySet():获取所有的键
Collection<V> values():获取所有的值
D:添加功能
V put(K key,V value):集合添加键值对
E:长度功能
int size():键值对对数。
package com.edu.map;import java.util.HashMap;import java.util.Set;public class MapDemo {public static void main(String[] args) {HashMap<Integer, String> hMap = new HashMap<Integer, String>();hMap.put(1, "小明");hMap.put(2, "小红");hMap.put(3, "小话");hMap.put(4, "小白");//void clear():移除集合中的所有键值对元素//hMap.clear();//V remove(Object key):根据键移除键值对元素,并返回值String remove = hMap.remove(2);System.out.println("移除的值为"+remove);//boolean containsKey(Object key):判断集合中是否包含指定的键boolean b = hMap.containsKey(2);System.out.println(b);//boolean containsValue(Object value):判断集合中是否包含指定的值boolean c = hMap.containsValue("sd");System.out.println(c);//boolean isEmpty():判断集合是否为空boolean empty = hMap.isEmpty();System.out.println(empty);System.out.println("--------------------");//V get(Object key):根据键获取值//Set<K> keySet():获取所有的键Set<Integer> set = hMap.keySet();for (Integer key : set) {System.out.println(key+" "+hMap.get(key));}}}
三、HashMap
元素顺序:元素顺序不可预测
底层算法:哈希算法对键没有要求(仅仅相对于TreeMap来说)
需要重写javabean里面的hashCode()和equals()方法
重写了Student里面的hashCode()和equals()方法
package com.edu.map;import java.util.HashMap;import java.util.Set;/** * 存入(String,Student)键:String(国籍) 值:Student * */public class HashMapDemo {public static void main(String[] args) {HashMap<String, Student> sMap = new HashMap<String,Student>();Student s1 = new Student("郭德纲", 50);Student s2 = new Student("于谦", 50);Student s3 = new Student("岳云鹏", 50);Student s4 = new Student("孙越", 50);sMap.put("中国", s1);sMap.put("美国", s2);sMap.put("英国", s3);sMap.put("法国", s4);Set<String> set = sMap.keySet();for (String key : set) {System.out.println(key+" "+sMap.get(key).getName()+" "+sMap.get(key).getAge());}}}
0 0
- Java学习之Map与HashMap
- 【Java】Map之HashMap
- java学习之hashMap
- Java之HashMap学习
- Java学习之HashMap
- Java之HashMap学习
- 【Java学习】Java学习之HashMap分析与理解
- question_020-JAVA之Map之HashMap嵌套HashMap
- 【Java学习笔记】Map,TreeMap及HashMap
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java Map集合之HashMap、HashTable
- java Map集合框架之HashMap
- Java-集合框架Map之HashMap、TreeMap
- UNIX环境高级编程习题——第一章
- 国务院正式发布“水十条”(全文)
- php $a && $b = $c 这种语法我想打死你!
- MongoDB学习记录01-安装
- java
- Java学习之Map与HashMap
- JAVA基础教程2--JDK与JRE
- MongoDB学习记录02-初识MongoDB
- JavaScript基础
- 死锁产生的四个必要条件
- 使用 Python 第三方库 daft 绘制 PGM 中的贝叶斯网络
- 如何选择机器学习算法
- poj1456(贪心)
- 2017程序员发展未来怎么样,听听大佬怎么讲