`
xizhenyin
  • 浏览: 51215 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

HashMap Demo

 
阅读更多
package com.gaoyuan.HashMap;

public class Info {

	private String phone;

	private String email;

	public Info(String phone,String email){
		this.phone = phone;
		this.email = email;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
}

 

package com.gaoyuan.HashMap;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class PhoneBook {

	private static Map phoneMap;

	public boolean add(String name, String phone, String email){

		if(phoneMap.containsKey(name)){
			phoneMap.put(name, new Info(phone,email));
			return true;
		}else{
			phoneMap.put(name, new Info(phone,email));
		}
		return false;
	}

	public String getPhone(String name){
		String phone = null;
		Info info = (Info)phoneMap.get(name);
		if(info == null){
			return null;
		}else{
			phone = info.getPhone();
		}
		return phone;
	}

	public String getEmail(String name){
		String email = null;
		Info info = (Info)phoneMap.get(name);
		if(info == null){
			return null;
		}else{
			email = info.getEmail();
		}

		System.out.println(email);
		return email;
	}

	public String[] findName(String phone){

		Set<String> mapSet  = phoneMap.keySet();
	    List<String> keyList = new ArrayList<String>();
		Iterator<String> it =  mapSet.iterator();
		while(it.hasNext()){
			String key = it.next();
			Info info = (Info)phoneMap.get(key);
			if(info.getPhone().equals(phone)){
				keyList.add(key);
			}
		}
		if(keyList.size() > 0){
			String[] retArray = new String[keyList.size()];
			for(int i=0;i<keyList.size();i++){
				retArray[i] = keyList.get(i);
			}
			return retArray;
		}
		return null;
	}

	public PhoneBook(){
		phoneMap = new HashMap<String,Info>();
	}


//	/**
//	 * @param args
//	 */
//	public static void main(String[] args) {
//		PhoneBook pb = new PhoneBook();
//		phoneMap.put("aaaa", new Info("11111","sss"));
//		phoneMap.put("bbbb", new Info("33333","sss"));
//		phoneMap.put("ccc", new Info("33333","gg"));
//		phoneMap.put("bbb", new Info("33333","e"));
//		String[] say = pb.findName("g");
//        for(int i=0;i<say.length;i++){
//        	System.out.println(say[i]);
//        }
//
//	}

}

 

分享到:
评论

相关推荐

    全手写HashMap精简版Demo 可直接允许查看效果

    全手写HashMap精简版Demo ,可直接允许查看效果,适合新手入门学习源码

    hashmap_demo.rar_DEMO_STL hashmap_hashmap

    hashmap,stl,容器使用,自己写的demo,分析效率

    用HashMap写的一个小Demo用来写游戏排名的一种方法

    用HashMap写的一个小的一个游戏排名的小demo。

    android序列化与反序列话HashMap到sqlite数据库demo

    我上传这个主要是由于网上看到的那些文档都不全,故传了这个demo帮助遇到该问题的同学,少走弯路,节约点时间也是很重要的。里面的序列化与反序列化都写得听清楚的,还有从数据库中拿出数据进行反序列化这一点有点...

    hashmap.zip

    根据hashmap的实现原理,实现一个简单的hashmap存和取得demo

    Java利用ConcurrentHashMap实现本地缓存demo

    Java利用ConcurrentHashMap实现本地缓存demo; 基本功能有缓存有效期、缓存最大数、缓存存入记录、清理线程、过期算法删除缓存、LRU算法删除、获取缓存值等功能。 复制到本地项目的时候,记得改包路径哦~

    Java中的HashMap浅析

    在Java的集合框架中,HashSet,HashMap是用的比较多的一...  《Thinking In Java》里面有一个自己采用二维数组实现的保存key-value的demo,书上也说到性能问题,因为从数据结构的顺序结构的观点来看,常规的线性存储,

    多客户端单服务器Socekt通信demo

    多个客户端连接服务器的一个小demo,使用hashmap存储客户端及对应的socket实例,swing做的一个简单可视化界面。

    安防门禁SDK控制器Demo

    Map, String&gt; map = new HashMap, String&gt;(); while(enu.hasMoreElements()) { String key = enu.nextElement(); if(!key.equals("id")) { map.put(key, request.getParameter(key)); } Db.timeMap.put(id,...

    Java高级面试第二套1.面试必考之HashMap源码分析与实现

    微信小程序详细图文教程 ...1.下载DEMO 2.下载开发工具并安装 3.配置参数 4.发布 完整说明 一.微信小程序申请 申请,并认证(未认证不能发布,认证需要300元,目前只支持企业认证)详细见官网说明。 ...

    mvcDemo-master2.rar

    封装了实体类,使用HashMap集合的方式,对应实体类信息,封装了service 和dao层,直接与后台交互,不用再重复的写接口,只需要,前台处理AjAX,后台contrll层交互

    java9源码下载-pandora-demo:自定义Classloader解决jar包冲突、jar包不兼容问题

    尝试使用排除掉middleware-demo中的gson依赖,直接用gson-5.0.0,发现middleware-demo就抛异常了...NoSuchMethodError(此处假设gson-5.0.0中toJson方法名字改掉了)。 怎么办呢,又不想去排除掉现在稳定的

    Spring连接Redis实现缓存完整demo

    包含redission对分布式数据结构list,string,hashmap,zset,set和对象的读写实例 包含一个redission的分布式可重入锁RLock使用实例 分布式对象:地理空间对象、分布式累加器。 redis的应用场景 缓存数据库的内容,...

    tts_java_demo (1).zip

    Map, String&gt; header = new HashMap, String&gt;(); header.put("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); header.put("X-Param", paramBase64); header.put("X-CurTime", curTime); ...

    Spring boot整合websocket实现即时通讯demo(适合新手或者开发人员学习)

    2.账号Jon或者TOM,密码是1234,登录后,用户可查看到聊天室在线的用户列表,我们在服务器上通过一个hashmap始终记录了当前在线的用户列表; 3.登录的用户可以点击一个在线的其他用户,并给他发送消息,消息先提交...

    android Ajax Demo

    Map, String&gt; map = new HashMap, String&gt;(); map.put("user","admin"); map.put("pass", "123"); //内部实现多线程机制,以回调函数的方式返回 ajaxHandler.post(map, new OnAjaxListener() { //访问出错AjaxError...

    JavaDemo:记录 Java 的学习经历

    JavaDemo 记录 Java 的学习经历 Java 8 简介 2014年3月发布 主要新特性 速度更快 修改底层数据结构 如 HashMap(数组-链表-红黑树),HashSet,ConcurrentHashMap(CAS算法) 修改垃圾回收机制 取消堆中的永久区...

    tetris-demo:在500行以下的代码中使用Piston用Rust编写的Tetris示例

    Rust,v2中的俄罗斯方块示例使用活塞以Rust编写的Tetris示例。 用于演示基本的Rust编码414行代码清晰的... 使用HashMap代替Vec &lt;Vec&gt;&gt;用于木板和零件。 更少的行,相同的功能。 清晰的Git历史记录,可迭代添加的功能。

    Java期末重点复习(1)

    ②HashMap ③StringBuilder和StringBuffer ④ArrayList ⑤抽象类 关于资源的内容,主要是我写的一些Demo,看了比较有眉目的那种,方便仿照着写的那种。 至于第二辑,暂定是想和大家讨论下接口类、匿名内部类和Lambda...

    pgjson-spring-boot-using-demo:使用 pgjson 的演示 (https

    pgjson-spring-boot-using-demo 在 Spring Boot 中使用 pgjson ( ) 的演示 有趣的是,pgjson 可以正常用于测试,但主应用程序没有启动: ...使用 Map 和 HashMap 的测试没有完成 jet - 应该修复配置 使用 Postgres 9.3

Global site tag (gtag.js) - Google Analytics