java的hasmap的简单介绍
今天给各位分享java的hasmap的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中的HashMap
- 2、java中,HashMap的创建流程是什么?
- 3、java中的HashMap类是做什么用的?
- 4、java中,HashMap的写流程是什么?
- 5、java 为什么使用hashmap
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());
//其余的类似
}
}
java中,HashMap的创建流程是什么?
创建流程,指的是:
MapString, String mp = new HashMapString, String();
吗?
就是创建一个HashMap对象,其中键的类型为String,值的类型也为String;
当然,键和值的类型也可以是其他的。例如,创建了一个类叫做Student,我们现在还有每一个学生的学号。那么就可以建立一个MapString, Student 这样的HashMap。通过这样的方式,我们就可以利用学号来找到具体对应的学生。
java中的HashMap类是做什么用的?
java中HashMap类是用来存储具有键值对特征的数据。例如现在需要按照员工号来存储大量的员工信息,那么就可以使用HashMap,将员工号作为键,员工对象作为值来存储到HashMap中,其中使用HashMap时需要注意,HashMap是线程不同步的,多线程使用时,需要注意;并且HashMap允许null值作为键和值。
java中,HashMap的写流程是什么?
HashMapString, String mp = new HashMapString, String();
mp.put("123", "hello");
通过这样的方式,在调用mp.get("123"); 的时候你就可以得到hello了。也就是说通过put函数来给HashMap添加键和其对应的值。
java 为什么使用hashmap
首先当我们需要存储数据的时候,动态数组虽然能够自动扩容,但是必须在初始时刻指定初始容量。而对于那些在编译时无法确定具体的数量即动态增长的数据,就需要用到Java集合类了。对于ArrayList 和 LinkedList,还有 Vector它们都有一些缺点,要么插入删除速度慢、要么就是遍历速度慢。那么有没有一种插入、删除、遍历都比较不错的集合类呢?于是 HashMap 就出现了。HashMap 是一个散列表,它存储的是一组键值对(key-value)的集合,并实现快速的查找。
(1)为了实现快速查找,HashMap 选择了数组而不是链表。以利用数组的索引实现 O(1) 复杂度的查找效率。
(2)为了利用索引查找,HashMap 引入 Hash 算法, 将 key 映射成数组下标: key - Index。
(3)引入 Hash 算法又导致了 Hash 冲突。为了解决 Hash 冲突,HashMap 采用链地址法,在冲突位置转为使用链表存储。
(4)链表存储过多的节点又导致了在链表上节点的查找性能的恶化。为了优化查找性能,HashMap 在链表长度超过 8 之后转而将链表转变成红黑树,以将 O(n) 复杂度的查找效率提升至 O(log n)。
【综上】
HashMap 存在的意义就是实现一种快速的查找并且插入、删除性能都不错的一种 K/V(key/value)数据结构。
附上一位博主的高见:网页链接
关于java的hasmap和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。