大学前三年用C++比了三年赛,什么项目也没做过!Java基本没学。最后一年玩的很嗨,之前的ACM的东西也差不多忘得一干二净。现在到研究生阶段跟个小学生一样从头学起,唉,都是自己作的啊!
话归正传,对于HashMap类来说,我发现Java中的类和C的结构体很像啊!我在学这个类的get方法时,在写那个Object user = new User();//创建一个对象之前写的是User user = new User();结果一直错误!后面发现是因为这个地方只能创建一个对象而不是用User去创建一个实例。这会不会也在隐约告诉我对象和实例的区别呢??有待思考!
package com.xuexi.MyHashMap;
import java.util.Scanner;
import java.util.HashMap;
public class MyHashMap {
public static void main(String[] args)
{
HashMap map = new HashMap();
for(int index=1;index<=3;index++)
{
User user = new User();
user.setName("user"+index);
user.setPassword("1313");
map.put("u-"+index, user);////将用户对象保存在map中,并设置key为:u-序号
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户编号:");
String key = scanner.nextLine();
Object user = new User();//创建一个对象
user = map.get(key);//取得相应键值的对象
if(user !=null) //如果对象存在
{//如果有对应key的用户信息,输出信息
System.out.println(user);
}
else
{
System.out.println("没有编号为【"+key+"】的用户信息。");
}
}
}
class User
{
private String username;
private String password;
public String getUserame()
{
return username;
}
public void setName(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String toString() {//重写toString方法,输出用户信息
return "User [username=" + username + ", password=" + password + "]";
}
}
分享到:
相关推荐
Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序 HashMap类Java SE程序...
Java 中 HashMap 类的使用详解 HashMap 是 Java 语言中最常用的集合类之一,它实现了 Map 接口,提供了 put、get、keySet 等常用方法来存储和检索数据。本文将详细介绍 HashMap 类的使用,包括其常用方法、特点和...
Java HashMap 类详解 本资源详细介绍了 Java 中的 HashMap 类...本资源详细介绍了 Java 中的 HashMap 类,包括其实现机制、Hash 存储机制、集合存储机制等方面的知识点,为大家提供了一个详细的 Java HashMap 类详解。
在HashMap中,put()方法用于添加键值对到映射中。当调用put()方法时,首先会计算传入key的哈希值,然后根据这个哈希值确定Entry在数组中的索引位置。如果在计算出的位置上有现成的Entry存在(即发生哈希冲突),...
在添加元素时,如果HashMap中的元素数量超过了一个临界值(阈值,threshold),HashMap的容量会加倍,以减少进一步操作中的冲突,并提供更大的空间来存储更多的元素。这个过程涉及到数组的扩容(resize),新的数组...
- **非线程安全**:由于它不是同步的,因此不能直接在多线程环境中使用,除非将其包装到`Collections.synchronizedMap()`中或使用`ConcurrentHashMap`。 - **存储null键和值**:`HashMap`允许一个`null`键和多个`...
- 键(Key):HashMap中的每个元素由一个键和一个值组成,键是唯一的,不允许重复。 - 值(Value):键对应的值,可以重复。 - 哈希码(Hash Code):键对象通过hashCode()方法计算得到的整数值,用于定位元素在...
6. **迭代器**:为了方便遍历HashMap中的所有键值对,实现提供了一个迭代器接口,可以按照插入顺序或键的自然顺序遍历。 7. **键的类型支持**:JavaScript的HashMap实现可能需要支持各种类型的键,包括字符串、数字...
在HashMap中,equals方法用于比较两个Key是否相等,而hashCode方法用于将Key转换为一个哈希码。如果两个Key具有相同的hashCode,但equals结果不同,那么他们就是不同的Key。 5. Java中HashMap的应用和实现 HashMap...
在HashMap中,键和值可以是任何类型的对象,只要它们实现了equals()和hashCode()方法,这两个方法用于确定对象的哈希值以及比较两个对象是否相等。 HashMap的存储机制基于以下几个关键点: 1. **哈希函数**:...
在Java编程语言中,`HashMap`是`java.util`包中的一个核心类,它属于集合框架的一部分,主要用于存储键值对的数据结构。`HashMap`基于哈希表(散列表)实现,提供了快速的插入、删除和查找操作,平均时间复杂度为O(1...
Java语言使用hashmap实现向购物车添加删除修改商品,显示商品信息
本文研究了基于HashMap的用户标签处理方法,并对Java中HashMap的实现原理进行了深入研究。HashMap是一种高效的数据结构,可以快速地存储和检索数据。本文通过对HashMap的分析,总结了其优缺点,并与其他存储结构进行...
当HashMap中的元素数量达到容量(初始容量或扩容后的容量)与负载因子的乘积时,会进行扩容。扩容时,HashMap会创建一个新的、容量更大的数组,并将旧数组中的元素重新哈希到新数组中。 7. **删除元素**: 删除...
5. **线程不安全**:HashMap不是线程安全的,如果在多线程环境中使用,需要外部同步机制,或者使用ConcurrentHashMap。 6. **null键与null值**:HashMap允许键和值为null,但只有一个键可以为null,且该键对应的值...
本文将详细介绍如何在Java WebService中使用`HashMap`来传递和读取数据。 #### WebService与HashMap的基本概念 1. **WebService**:一种开放的标准服务,通过HTTP协议进行数据传输,可以跨平台、跨语言地提供服务...
在Java 8的HashMap中,键(Key)通常是不可变的,并且它们通常需要支持排序。例如,当我们想要对HashMap的键进行排序时,可以利用Comparable接口。如果HashMap的键类实现了Comparable接口,那么在进行某些操作,如...
当我们插入一个键值对时,HashMap会调用键对象的`hashCode()`方法生成哈希码,然后使用这个哈希码将这对数据存储在桶(bucket)中。由于不同的键可能会生成相同的哈希码,所以可能需要处理哈希冲突,HashMap通过链地址...