JAVA HASHMAP 如何用
HASHMAP最好与实例联系起来..它主要存的是键与值的关系.
举个例子如你现在有一个学生类
import java.util.HashMap;
public class Student {
String name;
String sex;
public Student(String n,String s) {
name=n;
sex=s;
}
public String toString(){
return ("姓名:"+name+"\n"+"性别:"+sex+"\n");
}
public static void main(String [] args){
HashMap hm=new HashMap();
Student s1=new Student("张三","男");
Student s2=new Student("李四","男");
Student s3=new Student("小利","女");
//存值是根据学生编号存的学生信息
hm.put("001",s1);
hm.put("002",s2);
hm.put("003",s3);
//查找学生编号是001的学生
//因为hm.get("001")反回的是Object所以加上强转
Student s=(Student)hm.get("001");
System.out.println(s.toString());
//其余的类似
}
}
HashMap和ArrayList结合起来用,向HashMap中存值时 把name存入ArrayList中:
HashMap a = new HashMap();
ArrayList al = new ArrayList();
a.put("name1", "abcdef"); // key是name,value是字符串abcdef
al.add("name1");
a.put("name2","me");
al.add("name2");
a.put("name3","you");
al.add("name3");
a.put("name4","he");
al.add("name4");
for(int i=0;i<al.size();i++){
System.out.println(a.get(al.get(i)));
}
HashMap实现的接口有:Serializable, Cloneable, Map<K,V> ,没有实现Cllection接口。
在父类写一个返回hashmap的方法
再直接调用试试
JAVA HASHMAP 如何用的更多相关文章
- [翻译]Java HashMap工作原理
大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.Ha ...
- Java学习笔记(二二)——Java HashMap
[前面的话] 早上起来好瞌睡哈,最近要注意一样作息状态. HashMap好好学习一下. [定义] Hashmap:是一个散列表,它存储的内容是键值对(key——value)映射.允许nul ...
- java集合框架之java HashMap代码解析
java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...
- HashMap的原理与实 无锁队列的实现Java HashMap的死循环 red black tree
http://www.cnblogs.com/fornever/archive/2011/12/02/2270692.html https://zh.wikipedia.org/wiki/%E7%BA ...
- 【转】Java HashMap工作原理(好文章)
大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.Ha ...
- 【转】Java HashMap 源码解析(好文章)
.fluid-width-video-wrapper { width: 100%; position: relative; padding: 0; } .fluid-width-video-wra ...
- 转:Java HashMap实现详解
Java HashMap实现详解 转:http://beyond99.blog.51cto.com/1469451/429789 1. HashMap概述: HashMap是基于哈希表的M ...
- 自学Java HashMap源码
自学Java HashMap源码 参考:http://zhangshixi.iteye.com/blog/672697 HashMap概述 HashMap是基于哈希表的Map接口的非同步实现.此实现提 ...
- Java HashMap工作原理及实现
Java HashMap工作原理及实现 2016/03/20 | 分类: 基础技术 | 0 条评论 | 标签: HASHMAP 分享到:3 原文出处: Yikun 1. 概述 从本文你可以学习到: 什 ...
随机推荐
- length prototype 函数function的属性,以及构造函数
前言:学到一些JavaScript高级的知识,在这里记下,方便以后的查找 1.length代表函数定义的形参的个数,挺简单的 例如:function Pen(price,cname) { . ...
- Android 内存溢出管理与测试
今天发现正在做的项目,时不时的会报错:dalvikvm heap out of memory on a 7458832-byte allocation (堆分配的内存溢出) 为什么会内存溢出呢?我以前 ...
- GCD学习之dispatch_barrier_async
iOS常见的多线程开发方式有NSThread.NSOPeration和GCD,抽象程度依次提高,GCD是最抽象的,使用起来最简单,但相对来说功能有限,比如不能cancel任务,这也算是一点遗憾吧. 今 ...
- JavaScript中关于创建对象的笔记
1,最基本的两种创建对象的方式:构造函数|| 字面量 构造函数: var person = new Object(); person.name = "chen1zee1"; per ...
- Java实战之04JavaWeb-07Listener和Filter
一.监听器Listener javaEE的13们规范中 包括servlet技术和jsp技术 servlet规范中包括三门技术:(servlet的三大组件) servelt技术 Listener技术 ...
- CUDA_矢量相加
#include<iostream> #define N 10 _ _global_ _ void add(*a,*b,*c) { int tid=blockIdx.x; if(tid&l ...
- C#与C++相比较之STL篇(续一)
本篇接<C#与C++相比较之STL篇>,主要探索C++STL的两个组件:算法和仿函数,以及C#的linq和拉姆达表达式.委托. STL的算法与仿函数 算法是个庞大的主题,STL包含了超过1 ...
- vim 的 tags 模块 与 ctags
1. 概述 一般来说,在代码中跳转,离不开 ctags. 实际上,vim 中代码跳转是由 vim tags 模块完成的,tags 模块依赖于 tags 文件. ctags(Generate tag f ...
- Linux下的I/O复用与epoll详解
前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管 ...
- JDBC访问SQLServer2008数据库
来源:十二随风博客 由JDBC驱动直接访问数据库优点:100% Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动 (1)下载对应数据库版本的jdbc驱动并安装,注意安装后的得到的 ...