HashMap,Hashtable,TreeMap ,Map
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}自动排序 }
}
HashMap,Hashtable,TreeMap ,Map的更多相关文章
- Collections+Iterator 接口 | Map+HashMap+HashTable+TreeMap |
Collections+Iterator 接口 1. Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询 ...
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
- Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
- Map总结--HashMap/HashTable/TreeMap/WeakHashMap使用场景分析(转)
首先看下Map的框架图 1.Map概述 1.Map是键值对映射的抽象接口 2.AbstractMap实现了Map中绝大部分的函数接口,它减少了“Map实现类”的重复编码 3.SortedMap有序的“ ...
- 杨晓峰-Java核心技术-9 HashMap Hashtable TreeMap MD
目录 第9讲 | 对比Hashtable.HashMap.TreeMap有什么不同? 典型回答 考点分析 知识扩展 Map 整体结构 有序 Map HashMap 源码分析 容量.负载因子和树化 精选 ...
- Set集合[HashSet,TreeSet,LinkedHashSet],Map集合[HashMap,HashTable,TreeMap]
------------ Set ------------------- 有序: 根据添加元素顺序判定, 如果输出的结果和添加元素顺序是一样 无序: 根据添加元素顺序判定,如果输出的结果和添加元素的顺 ...
- HashMap,HashTable,TreeMap区别和用法
开始学HashTable,HashMap和TreeMap的时候比较晕,觉得作用差不多,但是到实际运用的时候又发现有许多差别的.需要大家注意,在实际开发中以需求而定. java为数据结构中的映射定义了一 ...
- hasSet,TreeSet,ArrayList,LinkedList,Vector,HashMap,HashTable,TreeMap利用Iterator进行输出
基础类,没有重写hashCode()和equals()方法: package niukewang; import java.util.Objects; public class setClass { ...
- HashMap Hashtable TreeMap LinkedHashMap 分析
首先对hash的了解:就是关键字,和数据建立关系的映射. hash常用算法:假设我们中的字符有相应的内部编码,当然在实际过程中,我们不可能将所有的编码当做hash值. 平方取中法,将所得的内部编码平方 ...
随机推荐
- _DataStructure_C_Impl:图的最小生成树
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef char VertexType[4] ...
- android中实现毛笔效果(View 中画图)
近期有一个项目设计一个APP实现通过触摸屏实现毛笔写字效果.传统的绘画板程序直接通过Path的moveTo和LineTo便可实现简单的线条绘画程序.然而要达到毛笔的笔锋效果则须要更为具体点的设计.我的 ...
- zookeeper的python客户端安装
项目中使用了python,需要使用到zookeeper的功能,这里记录一下安装过程. 内核版本:2.6.32 发行版:CentOs-6.6 64bit 1.由于python客户端依赖c的客户端所以要先 ...
- php编译参数选项 具体参数含义可以用./configure --help来查看
php编译参数选项 PHP_INSTALL_PATH=/data/web/php MYSQL_INSTALL_PATH=/data/web/mysql ./configure --prefix=${ ...
- 看了就很快学会jQuery
一.jQuery简介与第一个jQuery程序 1.1.jQuery简介 1.2.jQuery特点 1.3.jQuery版本 1.4.获得jQuery库 1.5.第一个jQuery程序 二.jQuery ...
- Pairs of Integers
Pairs of Integers You are to find all pairs of integers such that their sum is equal to the given in ...
- dubbo开发中使用到的一些服务配置方式
通过之前的学习了解了dubbo的常规的使用,下面我们看看特殊情况或者说真实环境下使用dubbo的一些配置实例. 一.一个接口有多个实现时可以使用group来区分 1.服务提供者配置 <?xml ...
- litou.org.cn: A Shunde Program Fan.
终于有了自己的域名litou.org.cn.(虽然并不是什么难的事) 作为顺德的一名编程爱好者,编程就是全部,希望可以多分享一些设计和开发经验. 一份耕耘,一份收获.My Name is 泥头.
- WiX 中XML引用变量说明
WiX 安装工程中的XML 文件所引用变量说明: The WiX project supports the following project reference variables: Variabl ...
- PHP安全编程之php.ini配置
1.register_globals=On <?php//ex1.php if(check_admin()) { $is_admin=true; } if($is_admin) { ...