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.rar_DEMO_STL hashmap_hashmap"包含了关于`HashMap`的示例代码和性能分析。下面将详细讲解`HashMap`的概念、工作原理以及在C++中的STL实现。 HashMap是一种关联容器,它提供了通过键...
在这个"用HashMap写的一个小Demo用来写游戏排名的一种方法"的示例中,我们很可能会看到如何利用HashMap来组织游戏分数并进行排序,以实现一个简单的游戏排名系统。 HashMap的特点在于它的键(key)是唯一的,每个键...
我上传这个主要是由于网上看到的那些文档都不全,故传了这个demo帮助遇到该问题的同学,少走弯路,节约点时间也是很重要的。里面的序列化与反序列化都写得听清楚的,还有从数据库中拿出数据进行反序列化这一点有点...
Java的集合框架(如ArrayList、LinkedList、HashMap等)提供了存储和操作数据的高效工具。 最后,Java支持多线程编程,意味着一个程序可以同时执行多个任务。线程的使用可以使程序更高效,特别是在处理大量并发操作...
4. **数组与集合框架**: 数组是存储固定数量相同类型元素的容器,而集合框架(如ArrayList,LinkedList,HashMap等)则提供了更灵活的数据存储方式。作者可能通过示例展示了如何创建、操作和遍历这些数据结构。 5. ...
4. **集合框架**:Java集合框架包括ArrayList、LinkedList、HashMap等,DEMO可能通过实例演示了它们的用法。 5. **IO流**:DEMO可能涉及文件读写、数据传输,展示了InputStream、OutputStream、Reader、Writer等类...
7. **集合框架**:Java集合框架包括List、Set、Queue、Map等接口及其实现类,DEMO将展示如何使用ArrayList、LinkedList、HashSet、HashMap等数据结构进行数据存储和操作。 8. **网络编程**:Java提供了Socket编程...
2. **集合框架**:如ArrayList、LinkedList、HashMap、TreeMap等的使用和原理。 3. **异常处理**:学习如何有效地捕获和处理程序运行时可能出现的异常。 4. **IO/NIO**:了解Java如何进行输入输出操作,以及非阻塞...
本项目"android 三方登录demo"是一个示例,它利用了Sharesdk这个库来简化这一过程。 Sharesdk是一款强大的社交分享和登录 SDK,支持多种国内外社交平台,如微信、QQ、微博、Facebook、Google等。它为开发者提供了一...
ContentValues类似于Java中的HashMap,用于存储键值对。 4. **监听数据变化**:可以通过`registerContentObserver(Uri, boolean, ContentObserver)`方法注册ContentObserver,当ContentProvider中的数据发生变化时...
4. **集合框架**:Java提供了丰富的集合类,如ArrayList、LinkedList、HashMap等,样例程序会展示如何操作和管理这些集合。 5. **IO流**:Java的IO流系统允许读写文件、网络通信等,样例程序将展示如何使用...
Map, Object> variables = new HashMap(); variables.put("assignee", "username"); startProcess(businessKey, variables); ``` **5. 流程实例的查询与控制** - **查询流程实例**:使用`TaskService`查询当前用户...
可以使用HashMap或者其他数据结构存储每道题目的答案和正确性。当用户选择查看错题时,遍历这个数据结构并显示标记为错误的题目。 4. **数据模型**: 设计一个试题数据模型,包含题目文本、选项列表、正确答案等...
Java利用ConcurrentHashMap实现本地缓存demo; 基本功能有缓存有效期、缓存最大数、缓存存入记录、清理线程、过期算法删除缓存、LRU算法删除、获取缓存值等功能。 复制到本地项目的时候,记得改包路径哦~
Map, Object> configProps = new HashMap(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer....
本DEMO,名为“仿微信联系人DEMO”,旨在实现与微信类似的联系人查询和展示功能,特别是强调了根据联系人首字母进行快速查询的特性。这涉及到Android或iOS开发中的数据结构设计、UI布局、搜索算法以及用户体验等多个...
3. **集合框架**:ArrayList、LinkedList、HashMap等数据结构的使用,以及集合的操作,如添加、删除、遍历等。 4. **异常处理**:了解如何使用try-catch-finally语句块来捕获和处理程序中的错误。 5. **IO流**:...
在本“freemarker使用的简单demo”中,我们将深入探讨如何设置和运行一个基础的Freemarker应用。 1. **Freemarker基本概念** - **模板(Template)**: Freemarker的核心是模板,它是纯文本文件,其中包含静态内容...
集合框架例如`ArrayList`、`HashMap`等的使用,多线程的实现如`Thread`和`Runnable`接口,以及`Socket`和`ServerSocket`在进行网络通信中的应用,都是Java开发中不可或缺的知识点。 总的来说,Java 1.6自带的Demo是...