将Java中的String或String数组转换为HashMap
考虑到一个包含学生姓名和学号的逗号分隔字符串对象,每个学生包含冒号分隔的姓名和学号。现在需要将String转化为Map对象,使每个学生的学号成为HashMap的键,姓名变为HashMap对象的值。
为了将字符串转化为HashMap,将这一过程分为两个部分:
- 将输入字符串转换为字符串数组作为输出。
- 将作为字符串数组的输入转换为 HashMap。
以下为输入字符串元素:
输入: “Aashish:1, Bina:2, Chintu:3”
方法:
- 第一阶段: 将输入字符串转换为字符串数组作为输出。
- 第二阶段: 将作为字符串数组的输入转换为 HashMap。
第一阶段:
- 首先,通过逗号分隔字符串并将其存储在数组parts中。分割后的内容如下:
"Aashish:1","Bina:2","Chintu:3"
- 然后迭代部分,分割学生数据以获取学生姓名和学号。设置学号为HashMap的键,姓名为HashMap对象的值。
第二阶段:
我们还可以将字符串数组转换为HashMap。假设我们有一个学生姓名字符串数组和一个学号数组,并且我们希望将其转换为HashMap,因此学号成为HashMap的键,姓名成为HashMap的值。
注意: 两个数组的大小应该相同。
以下为要在第一阶段输出的字符串数组元素:
String stuName[] = {"Aashish","Bina","Chintu"}
Integer stuRollNo[] = {1,2,3}
方法:
- 遍历数组并将学号设置为HashMap的键,姓名作为HashMap中的值。
第一阶段 - String到String Array
// 将Java中的String或String数组转换为HashMap
// 第一阶段:将输入字符串转换为字符串数组作为输出
// 导入Java通用库
import java.util.*;
class GFG {
// 主要驱动方法
public static void main(String[] args)
{
// 包含学生姓名和学号的字符串对象,由逗号分隔
String student = "Aashish:1, Bina:2, Chintu:3";
// 新的HashMap对象
Map<String, String> hashMap
= new HashMap<String, String>();
// 由逗号分隔字符串
String parts[] = student.split(",");
// 遍历部分并将其添加到HashMap中
for (String part : parts) {
// 拆分冒号将学生数据分离出来,获取姓名和学号
String stuData[] = part.split(":");
String stuRollNo = stuData[0].trim();
String stuName = stuData[1].trim();
// 添加到map
hashMap.put(stuRollNo, stuName);
}
// 打印HashMap
System.out.println("字符串到HashMap的转换:" + hashMap);
}
}
输出:
字符串到HashMap的转换:{Chintu=3, Bina=2, Aashish=1}
第二阶段 - String到Array再到HashMap
//将字符串或字符串数组转换为Java中的HashMap
//第二阶段:将字符串数组转换为HashMap。
//导入Java通用库
import java.util.*;
class GFG {
//主驱动程序
public static void main(String[] args)
{
//包含学生姓名的字符串数组
String stuName[] = { "Aashish", "Bina", "Chintu" };
//包含学生的学号的整数数组
Integer stuRollNo[] = { 1, 2, 3 };
//新HashMap对象
Map<Integer, String> hashMap
= new HashMap<Integer, String>();
//循环遍历字符串数组
for (int i = 0; i < stuName.length; i++) {
//将学号作为键,姓名作为值
hashMap.put(stuRollNo[i], stuName[i]);
}
//打印HashMap
System.out.println("String to hashmap: " + hashMap);
}
}
输出结果
String to hashmap: {1=Aashish, 2=Bina, 3=Chintu}
极客教程