package com.wzy.list;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap; public class MapTest {
public static void main(String[] args) {
Map<String,Object> hashmap = new HashMap<String,Object>(); hashmap.put("aa", "AAA");
hashmap.put("bb", );
hashmap.put("null", "kong");
hashmap.put(null, null);
hashmap.put("cc", "");
hashmap.put("", "test"); System.out.println(hashmap.get(null));//null
System.out.println(hashmap.get("null"));//kong
System.out.println(hashmap.get("key"));//key值不存在返回null
System.out.println(hashmap.get(""));//test
Set<String> keys = hashmap.keySet();//取得所有的key
Iterator key = keys.iterator();
key.forEachRemaining((x)->{System.out.println(x);});
System.out.println("----------------");
Set<Entry<String, Object>> values = hashmap.entrySet();
values.stream().forEach((x)->{System.out.println(x);});//遍例集合对象
values.stream().forEach((x)->{System.out.println(x.getKey());});//遍例集合对象的key
values.stream().forEach((x)->{System.out.println(x.getValue());});//遍例集合对象的value
System.out.println("-------------");
/**
* hash(散列)输出是没有顺序的;tree是有序的
*
* HashMap,Hashtable,TreeMapMap的子类
* 三者用法类似
* 但Hashtable不允许key和value是null
* Hashtable是线程安全的,因为方法上有synchronized;HashMap是不安全的
*
* TreeMap允许value为空,但不允许key为空,因为要靠key来排序
* 像String,Integer这样的类已经覆写了Comparable<String>和hashCode,equals方法
* 所以可以直接进行排序或者查找操作,
* 如果是自定义的对象进行排序或者查找,要自己覆写Comparable<String>和hashCode,equals方法
*
* 比如key存入一个自定义的对象,查找的话必须得实现hashCode,equals方法
* 排序的话必须得实现Comparable<String>接口
* */ Map<String, Object> hashtable = new Hashtable<String, Object>();
//table.put(null, null);key和value不可为空 System.out.println("----treemap----");
Map<Integer,String> treemap = new TreeMap<Integer,String>();
//treemap.put(null, "2222");//key不可为空
treemap.put(, "");
treemap.put(, "");
treemap.put(, "");
treemap.put(, "");
System.out.println(treemap);//{1=1111, 2=2222, 4=4444, 6=6666}自动排序 }
}

最新文章

  1. Vagrant基础简要记录
  2. LinuxMint装JDK和Eclipse
  3. 【BZOJ-3790】神奇项链 Manacher + 树状数组(奇葩) + DP
  4. Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案
  5. 【转】Haproxy安装及配置
  6. [转]Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
  7. HDU1150Machine Schedule(二分图最大匹配的DFS解法)
  8. 如何查询oracle中的关键字
  9. Enum枚举写的一个简单状态机
  10. poj 2356 (抽屉原理)
  11. AUC计算 - 手把手步进操作
  12. c++ 面试题(网络类)
  13. python记录_day09 初识函数
  14. 『计算机视觉』经典RCNN_其一:从RCNN到Faster-RCNN
  15. Tomcat的相关配置问题
  16. ABP之创建实体
  17. iOS9 http 不能连接的解决办法
  18. day41 python【事物 】【数据库锁】
  19. CF&amp;&amp;CC百套计划3 Codeforces Round #204 (Div. 1) B. Jeff and Furik
  20. 纯javascript代码实现浏览器图片选择预览、旋转、批量上传

热门文章

  1. 多媒体开发之---开源库ffmeg的log之子解析
  2. python带setup.py的包的安装
  3. 读书笔记-HBase in Action-第三部分应用-(1)OpenTSDB
  4. 洛谷P2661 信息传递==coedevs4511 信息传递 NOIP2015 day1 T2
  5. 九度OJ 1202:排序 (排序)
  6. apache .htaccess实现301重定向
  7. nginx 基础配置详解
  8. linux 6-find,xargs
  9. C#线程使用学习
  10. persisted? vs new_record?