`
xizhenyin
  • 浏览: 53216 次
  • 性别: 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_demo.rar_DEMO_STL hashmap_hashmap"包含了关于`HashMap`的示例代码和性能分析。下面将详细讲解`HashMap`的概念、工作原理以及在C++中的STL实现。 HashMap是一种关联容器,它提供了通过键...

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

    在这个"用HashMap写的一个小Demo用来写游戏排名的一种方法"的示例中,我们很可能会看到如何利用HashMap来组织游戏分数并进行排序,以实现一个简单的游戏排名系统。 HashMap的特点在于它的键(key)是唯一的,每个键...

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

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

    demo_java的demo_java_risingcck_DEMO_demojava_

    Java的集合框架(如ArrayList、LinkedList、HashMap等)提供了存储和操作数据的高效工具。 最后,Java支持多线程编程,意味着一个程序可以同时执行多个任务。线程的使用可以使程序更高效,特别是在处理大量并发操作...

    java 学习demo 完全自己写的demo

    4. **数组与集合框架**: 数组是存储固定数量相同类型元素的容器,而集合框架(如ArrayList,LinkedList,HashMap等)则提供了更灵活的数据存储方式。作者可能通过示例展示了如何创建、操作和遍历这些数据结构。 5. ...

    demo_java_DEMO_

    4. **集合框架**:Java集合框架包括ArrayList、LinkedList、HashMap等,DEMO可能通过实例演示了它们的用法。 5. **IO流**:DEMO可能涉及文件读写、数据传输,展示了InputStream、OutputStream、Reader、Writer等类...

    java SE最经典的桌面小程序(N多demo)适合初学者

    7. **集合框架**:Java集合框架包括List、Set、Queue、Map等接口及其实现类,DEMO将展示如何使用ArrayList、LinkedList、HashSet、HashMap等数据结构进行数据存储和操作。 8. **网络编程**:Java提供了Socket编程...

    使用的java系统demo

    2. **集合框架**:如ArrayList、LinkedList、HashMap、TreeMap等的使用和原理。 3. **异常处理**:学习如何有效地捕获和处理程序运行时可能出现的异常。 4. **IO/NIO**:了解Java如何进行输入输出操作,以及非阻塞...

    android 三方登录demo

    本项目"android 三方登录demo"是一个示例,它利用了Sharesdk这个库来简化这一过程。 Sharesdk是一款强大的社交分享和登录 SDK,支持多种国内外社交平台,如微信、QQ、微博、Facebook、Google等。它为开发者提供了一...

    关于自定义ContentProvider的Demo

    ContentValues类似于Java中的HashMap,用于存储键值对。 4. **监听数据变化**:可以通过`registerContentObserver(Uri, boolean, ContentObserver)`方法注册ContentObserver,当ContentProvider中的数据发生变化时...

    demo.rar_DEMO

    4. **集合框架**:Java提供了丰富的集合类,如ArrayList、LinkedList、HashMap等,样例程序会展示如何操作和管理这些集合。 5. **IO流**:Java的IO流系统允许读写文件、网络通信等,样例程序将展示如何使用...

    springboot整合activiti完整demo

    Map, Object&gt; variables = new HashMap(); variables.put("assignee", "username"); startProcess(businessKey, variables); ``` **5. 流程实例的查询与控制** - **查询流程实例**:使用`TaskService`查询当前用户...

    android 试题 答题 demo

    可以使用HashMap或者其他数据结构存储每道题目的答案和正确性。当用户选择查看错题时,遍历这个数据结构并显示标记为错误的题目。 4. **数据模型**: 设计一个试题数据模型,包含题目文本、选项列表、正确答案等...

    Java利用ConcurrentHashMap实现本地缓存demo

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

    springboot-kafka-simple-demo

    Map, Object&gt; configProps = new HashMap(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer....

    仿微信联系人DEMO

    本DEMO,名为“仿微信联系人DEMO”,旨在实现与微信类似的联系人查询和展示功能,特别是强调了根据联系人首字母进行快速查询的特性。这涉及到Android或iOS开发中的数据结构设计、UI布局、搜索算法以及用户体验等多个...

    JavaDemo_java_云课堂_

    3. **集合框架**:ArrayList、LinkedList、HashMap等数据结构的使用,以及集合的操作,如添加、删除、遍历等。 4. **异常处理**:了解如何使用try-catch-finally语句块来捕获和处理程序中的错误。 5. **IO流**:...

    freemark使用的简单demo

    在本“freemarker使用的简单demo”中,我们将深入探讨如何设置和运行一个基础的Freemarker应用。 1. **Freemarker基本概念** - **模板(Template)**: Freemarker的核心是模板,它是纯文本文件,其中包含静态内容...

    java 1.6 自带demo

    集合框架例如`ArrayList`、`HashMap`等的使用,多线程的实现如`Thread`和`Runnable`接口,以及`Socket`和`ServerSocket`在进行网络通信中的应用,都是Java开发中不可或缺的知识点。 总的来说,Java 1.6自带的Demo是...

Global site tag (gtag.js) - Google Analytics