java中的map接口
2015-10-26 14:03
423 查看
在上一篇博客中稍微提到java中的map接口,
跟python中的字典类似,不得不说python作为一门脚本语言,语法比java简洁了很多,要不是追求那点性能,
也不用来折腾java,哈哈,还是跟着企业的需求走,在china上就这样,啰嗦了,具体看看关系图
Map接口常用的子类包括:
HashMap:无序存放的,是新的操作类,key不允许重复
Hashtable:无序存放的,是旧的操作类,key不允许重复
TreeMap:可以排序的Map集合,是按照集合中的key排序的,key不许愿重复
WeakHashMap:是弱引用的Map集合,当集合中的某些内容不再使用时清除掉无用的数据,使用gc进行回收
IdentityhashMap:key可以重读的Map集合
HashMap与Hashtable具体操作如下:
Map的输出方式如下:
TreeMap是对key进行排序,具体操作如下:
跟python中的字典类似,不得不说python作为一门脚本语言,语法比java简洁了很多,要不是追求那点性能,
也不用来折腾java,哈哈,还是跟着企业的需求走,在china上就这样,啰嗦了,具体看看关系图
Map接口常用的子类包括:
HashMap:无序存放的,是新的操作类,key不允许重复
Hashtable:无序存放的,是旧的操作类,key不允许重复
TreeMap:可以排序的Map集合,是按照集合中的key排序的,key不许愿重复
WeakHashMap:是弱引用的Map集合,当集合中的某些内容不再使用时清除掉无用的数据,使用gc进行回收
IdentityhashMap:key可以重读的Map集合
HashMap与Hashtable具体操作如下:
package test; import java.util.Map; import java.util.HashMap; import java.util.Hashtable; import java.util.WeakHashMap; import java.util.Iterator; import java.util.Set; import java.util.Collection; public class MapDemo { public static void main(String args[]){ System.out.println("--------HashMap的基本操作----------"); Map<String, String> map=new HashMap<String,String>(); map.put("name", "周美旭"); map.put("sex","男"); map.put("address","江西省"); String name=map.get("name"); System.out.println("得到的名字是:"+name); System.out.println("判断是否包含value-->江西省值:"+(map.containsValue("江西省")?"存在":"不存在")); System.out.println("判断是否包含key-->name值:"+(map.containsKey("name")?"存在":"不存在")); System.out.println("--------得到全部的key值----------"); Set<String> test=map.keySet(); Iterator<String> test_Iter=test.iterator(); while(test_Iter.hasNext()){ System.out.println(test_Iter.next()); } System.out.println("--------得到全部的value值----------"); Collection<String> test_value=map.values(); Iterator<String> test_I=test_value.iterator(); while(test_I.hasNext()){ System.out.println(test_I.next()); } System.out.println("--------HashTable的基本操作----------"); Map<String, Integer> map_tabl=new Hashtable<String, Integer>(); map_tabl.put("张三",99); map_tabl.put("李四",20); map_tabl.put("王五", 30); System.out.println(map_tabl.containsKey("王五")); System.out.println(map_tabl.containsValue(222)); Set<String> last=map_tabl.keySet(); Iterator<String> ss=last.iterator(); while(ss.hasNext()){ System.out.print(ss.next()+"...."); } Collection<Integer> last1=map_tabl.values(); Iterator<Integer> sss=last1.iterator(); while(sss.hasNext()){ System.out.print(sss.next()+"....."); } } }
Map的输出方式如下:
TreeMap是对key进行排序,具体操作如下:
package test; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.Iterator; public class TreeMapDemo { public static void main(String args[]){ Map<String,String> map=new TreeMap<String, String>(); map.put("C", "www.taobao.com"); map.put("A", "www.baidu.com"); map.put("B", "www.zhong.com"); Set<String> keys=map.keySet(); Iterator<String> iter=keys.iterator(); while(iter.hasNext()){ String str=iter.next(); System.out.println(str+"------>"+map.get(str)); } //用foreach的形式输出 System.out.println("foreach的形式输出:"); for(Map.Entry<String, String> me:map.entrySet()){ //有点像python字典中的iterms用法 System.out.println(me.getKey()+"------>"+me.getValue()); } //用Set<Map.Entry<String,String>>进行输出 Set<Map.Entry<String, String>> allSet=map.entrySet(); Iterator<Map.Entry<String, String>> iter1=allSet.iterator(); while(iter1.hasNext()){ Map.Entry<String, String> me1=iter1.next(); System.out.println(me1.getKey()+"--->"+me1.getValue()); } } }
相关文章推荐
- org.springframework.jdbc.UncategorizedSQLException:
- Servlet和JAVA BEAN 分析探讨
- 什么叫javaBean
- java中euals和==的区别
- Java设计模式----外观模式(Facade)
- Java设计模式----外观模式(Facade)
- Spring Map依赖注入
- mybatis3与spring整合之事务
- SpringMvc框架 MVC详细解说
- Spring3 MVC请求参数获取的几种方法
- Eclipse崩溃
- java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport:
- 用Java Servlets代替CGI
- myeclipse中xml文件格式的校验
- mybatis返回map类型数据空值字段不显示
- Java深度拷贝一个对象
- struts2的流程跳转
- java类集
- Java NIO中的Selector和IO复用
- JavaWeb的各种中文乱码终极解决方法