java cityhash_Java HashMap

Java HashMap

你从上一章了解到,ArrayList把数据存储为有序列表,使用索引号(int类型)访问它们。

而HashMap将数据存储为“键/值”对,通过键(例如:字符串,键类似索引)访问它们。

HashMap的键值对中,键是一个对象,对应的值也是一个对象,通过键可以访问到值。

示例

创建一个名为capitalCities的HashMap对象,键和值都是字符串类型:

import java.util.HashMap; // 导入HashMap类

HashMap capitalCities = new HashMap();

如果你不知道“包”是什么,请参考我们的Java包教程。

添加项目

HashMap类有许多方法。例如,要添加项目,可以使用put()方法:

示例

// 导入HashMap类

import java.util.HashMap;

public class MyClass {

public static void main(String[] args) {

// 创建一个名为capitalCities的HashMap对象

HashMap capitalCities = new HashMap();

// 添加键和值(Country, City)

capitalCities.put("England", "London");

capitalCities.put("Germany", "Berlin");

capitalCities.put("Norway", "Oslo");

capitalCities.put("USA", "Washington DC");

System.out.println(capitalCities);

}

}

访问项目

要访问HashMap中的值,使用get()方法,传入键:

示例

capitalCities.get("England");

删除项目

要删除一个项目,使用remove()方法,传入键:

示例

capitalCities.remove("England");

要删除所有项目,请使用clear()方法:

示例

capitalCities.clear();

HashMap大小

要知道有多少项,可以使用size()方法:

示例

capitalCities.size();

遍历HashMap

使用for-each遍历HashMap。

注意: 如果只需要键,可使用keySet()方法; 只需要值,使用values()方法:

示例

// 打印键

for (String i : capitalCities.keySet()) {

System.out.println(i);

}

示例

// 打印值

for (String i : capitalCities.values()) {

System.out.println(i);

}

示例

// 打印键和值

for (String i : capitalCities.keySet()) {

System.out.println("key: " + i + " value: " + capitalCities.get(i));

}

其他类型

HashMap中的键和值实际上都是是对象。在上面的例子中,我们使用了“String”类型的对象。记住,Java中的字符串是对象(而不是基本类型)。

要使用其他类型,例如int,必须指定一个等效的包装类: Integer类,其他基本类型对应的包装类有: Boolean (boolean),Character (char), Double (double),等等:

示例

创建一个名为people的HashMap对象,键是字符串类型,值是整数类型:

// 导入HashMap类

import java.util.HashMap;

public class MyClass {

public static void main(String[] args) {

// 创建一个名为people的HashMap对象

HashMap people = new HashMap();

// 添加键和值 (Name, Age)

people.put("John", 32);

people.put("Steve", 30);

people.put("Angie", 33);

for (String i : people.keySet()) {

System.out.println("key: " + i + " value: " + people.get(i));

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值