Java初级培训笔记------容器 (4)
2015-08-17 19:42
441 查看
Map:保存两个数据之间的映射关系(key---value),如图
所以说Map的两个实现类HashMap(不同步,线程不安全)跟HashTable(同步,线程安全)。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。
HashMap:建立一个HashMap的对象,HashMap map=new HashMap();
提供了一个容器存储方法put
map.put("1", stu1);map.put("2", stu2);map.put("3", stu3);map.put("4", stu4);//前面的字符串就是key(也就是键)后面的学生对象就是value(值),这也就是键值对的存在。
遍历:
1.实现遍历 利用set集合存储key 然后利用迭代器 实现遍历这里的.keySet方法取得的值只有键key取不到value,所以需要get方法区映射
Set set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext()){
Object j=it.next();
Object o=map.get(j);
System.out.println(o);
}
2.这里的entrySet方法直接取得键值对进行遍历
Set set=map.entrySet();
Iterator it=set.iterator();
while(it2.hasNext()){
Object o=it2.next();
//o的实质类型为HashMap.entry向上转为object
System.out.println(o);
}
这里获得一个Entry内部类对象的集合,而Entry的对象封装Map集合的一个映射关系,entry内部类中提供了getkey和getvalue方法
容器 终
所以说Map的两个实现类HashMap(不同步,线程不安全)跟HashTable(同步,线程安全)。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。
HashMap:建立一个HashMap的对象,HashMap map=new HashMap();
提供了一个容器存储方法put
map.put("1", stu1);map.put("2", stu2);map.put("3", stu3);map.put("4", stu4);//前面的字符串就是key(也就是键)后面的学生对象就是value(值),这也就是键值对的存在。
遍历:
1.实现遍历 利用set集合存储key 然后利用迭代器 实现遍历这里的.keySet方法取得的值只有键key取不到value,所以需要get方法区映射
Set set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext()){
Object j=it.next();
Object o=map.get(j);
System.out.println(o);
}
2.这里的entrySet方法直接取得键值对进行遍历
Set set=map.entrySet();
Iterator it=set.iterator();
while(it2.hasNext()){
Object o=it2.next();
//o的实质类型为HashMap.entry向上转为object
System.out.println(o);
}
这里获得一个Entry内部类对象的集合,而Entry的对象封装Map集合的一个映射关系,entry内部类中提供了getkey和getvalue方法
容器 终
相关文章推荐
- JAVA数组的两种常见排序(冒泡排序和选择排序)
- Java文件切割与合并二之File开道
- Java____泛型
- 约瑟夫环问题
- CloudStack SSVM的Java process not running的解决方法
- 安装Spring Ide
- [Java Concurrency in Practice]二至五章小结
- 每日五道题(struts2)
- Eclipse中SVN的安装步骤(两种)和使用方法
- [Java Concurrency in Practice]第五章 基础构建模块
- myeclipse通过jdbc 连接mysql数据库
- Java中Integer直接比较大小
- Java序列化及反序列化 示例讲解
- JAVA多线程 问题 转载
- JAVA之JDBC简单事务处理
- Java中enum范例
- 【Java】-基础-Swing-常用组件
- Java 浮点数是如何存储的?
- 0000003_java学习之路_Spring注解_我用到的
- Spring <context:annotation-config/> 解说