HashMap散列映射表
来源:互联网 发布:什么软件限制游戏 编辑:程序博客网 时间:2024/06/05 02:17
当要储存成对元素时,就要用到可以存放键值对(Key , Value)的Map了
1.Map 中只可以存放键值对(Key , Value),其中Key是不可以重复的,Key和Value是一一对应。
2.HashMap是Map 接口的实现类,即是用hash的算法实现的Map.HashMap 是非线程安全的容器,轻量级,允许空的键值对。Key 是无序的存放且不可以重复的,他也是通过Hash码值来保证Key不重复的,如果要加入的键值对和HashMap中键值对的Key是相同的,就会将这个集合中的Key所对应的value值覆盖。在使用自定义类型作为Key时,要覆盖hashCode和equals方法,处理方法与HashSet相同
3.HashMap 底层也是数组,HashSet底层其实就是HashMap,只不过是只用Key值没有Value的HashMap.
4.改变操作:添加-删除键值对:put(key ,value) 方法在此映射中关联指定值和指定键
remove(key) 方法在此映射中移除指定键的映射关系
clear() 方法在此映射中移除所有映射关系
5.查询操作:get(key) 方法返回指定键所映射的值,如果此键不包含任何映射关系,则返回null
size()方法返回此映射的关系数
6.可以把键或者值的组作为集合来处理,KeySet()方法返回此映射中所包含的键的Set视图;values()方法返回此映射所包含的值的Collection视图,在遍历Map时,用使用其KeySet()方法获得Key的一个set集合,可以通过get()方法获得Key所对应的Value.
7.在Map中如果经常删除,插入,定位元素,最好使用HashMap,如果按顺序遍历最好用TreeMap.---有序键的遍历
package ch7;import java.util.*;public class TestHashMap{ public static void main(String args[]) { HashMap <String ,String >map = new HashMap<String ,String>();//构造一个默认初始容量16和默认加载因子0.75的空HashMap //向map中添加键值对,put(K key,V value),在此映射中关联指定值和指定键 map.put("zhangsan","Java"); map.put("lisi","C++"); map.put("wangwu","C#"); map.put("yaoming","C++"); Set<String> set = map.keySet();//返回此映射中所包含的键的Set视图 Iterator <String> it = set.iterator(); Collection <String> set1 = map.values();//返回此映射所包含的值的Collection视图 Iterator <String> it1 = set1.iterator(); while(it1.hasNext()) { String item1 = it1.next(); String keys = map.get(item1); System.out.println(item1+"考试"+keys+"通过了"); } while(it.hasNext()) { String key = it.next(); String item = map.get(key);//返回指定键所映射的值;如果该键不包含任何映射关系,返回null System.out.println(key+"同学通过了"+item+"考试"); } String key1 = "yaoming"; if(map.containsKey(key1)) { System.out.println("恭喜"+key1+"同学通过了"+map.get(key1)); } else { System.out.println("很可惜"+key1+"没有通过考试!"); } String value = "C++"; if(map.containsValue(value)) { System.out.println(value + "考试还是太简单了,竟然有人通过了考试"); } else { System.out.println("竟没有人通过此考试!!!!"); } String key2 = "zhangsan"; map.remove(key2); System.out.println(key2+"作弊,取消考试成绩!!!"); }}
- HashMap散列映射表
- java HashMap:散列映射表
- 学生考试实例(HashMap散列映射表)
- java 散列与散列码探讨 ,简单HashMap实现散列映射表执行各种操作示列
- Java HashMap与散列
- HashMap 映射
- 线性散列映射实现
- Java中的散列映射
- ibatis返回结果映射到HashMap时,列名无效的问题
- ibatis 用HashMap解决Ibatis未知列名和列数的查询结果的resultClass映射
- JAXB映射HashMap
- HashMap实现映射
- HashMap的映射实现
- HashMap分析及散列的冲突处理
- HashMap分析及散列的冲突处理
- OGG-COLMAP-列映射
- OGG-COLMAP-列映射
- HashMap关系数据映射技术
- Java 可执行Jar包打包方法
- 网站集成QQ登录功能
- MySQL数据库 表的基本操作
- Webservice接口开发,Spring注入失败
- java创建线程的四种方式
- HashMap散列映射表
- activity生命周期
- kmeans优缺点 及改进
- 创建安卓app的30个经验教训
- iOS录音功能
- 用ELK搭建简单的日志收集分析系统
- javadoc生成出现错误“编码 GBK 的不可映射字符
- 编译Hadoop2.7.1(Ubuntu)
- 你应该掌握的前端知识