Java中将字符串或字符串数组转换为HashMap
考虑一个字符串对象,它包含用逗号分隔的学生姓名和卷号,每个学生包含用冒号分隔的姓名和卷号。现在需要将String转换成Map对象,让每个学生卷号成为HashMap的key,name成为HashMap对象的值。
为了将字符串转换为HashMap,过程分为两部分:
- 输入字符串被转换为字符串数组作为输出。
- 作为字符串数组的输入被转换为 HashMap。
输入字符串元素如下:
Input : "Aashish:1, Bina:2, Chintu:3"
方法 :
- 阶段 1:将输入字符串转换为字符串数组作为输出。
- 第 2 阶段:将输入作为字符串数组转换为 HashMap。
阶段1:
- 首先,我们用逗号分割字符串并将其存储在数组部分中。拆分后我们有以下内容:
"Aashish:1","Bina:2", "Chintu:3"
- 然后对部分进行迭代并拆分学生数据以获取学生姓名和卷号。并设置roll no为key,name为HashMap的值。
阶段2:
我们还可以将 String 数组转换为 HashMap。假设我们有一个学生姓名的字符串数组和一个卷号数组,我们想将其转换为 HashMap,因此卷号成为 HashMap 的键,而姓名成为 HashMap 的值。
注意:两个数组的大小应该相同。
输入字符串元素数组如下,将在阶段 1 中输出
String stuName[] = {"Aashish","Bina","Chintu"}
Integer stuRollNo[] = {1,2,3}
方法 :
- 遍历数组并将滚动编号设置为键,将名称设置为 HashMap 中的值。
阶段 1 – 字符串到字符串数组
Java
// Convert String or String array to HashMap In Java
// Phase 1: Input- String converted to ArrayofStrings
// Importing java generic libraries
import java.util.*;
class GFG {
// Main driver method
public static void main(String[] args)
{
// String object that contains the student name and
// roll number separated by a comma
String student = "Aashish:1, Bina:2, Chintu:3";
// New HashMap obj
Map hashMap
= new HashMap();
// split the String by a comma
String parts[] = student.split(",");
// iterate the parts and add them to a HashMap
for (String part : parts) {
// split the student data by colon to get the
// name and roll number
String stuData[] = part.split(":");
String stuRollNo = stuData[0].trim();
String stuName = stuData[1].trim();
// Add to map
hashMap.put(stuRollNo, stuName);
}
// Print hashMap
System.out.println("String to HashMap: " + hashMap);
}
}
Java
// Convert String or String array to HashMap In Java
// Phase 2: Input- Array of strings converted to HashMap.
// Importing java generic libraries
import java.util.*;
class GFG {
// Main driver method
public static void main(String[] args)
{
// String array that contains the student name
String stuName[] = { "Aashish", "Bina", "Chintu" };
// Integer array that contains roll number of the
// students
Integer stuRollNo[] = { 1, 2, 3 };
// New HashMap obj
Map hashMap
= new HashMap();
// Iterating over array of strings
for (int i = 0; i < stuName.length; i++) {
// And set roll no as key and the name as value
hashMap.put(stuRollNo[i], stuName[i]);
}
// Printing HashMap
System.out.println("String to hashmap: " + hashMap);
}
}
输出
String to HashMap: {Chintu=3, Bina=2, Aashish=1}
阶段 2 – 字符串到数组到 HashMap
Java
// Convert String or String array to HashMap In Java
// Phase 2: Input- Array of strings converted to HashMap.
// Importing java generic libraries
import java.util.*;
class GFG {
// Main driver method
public static void main(String[] args)
{
// String array that contains the student name
String stuName[] = { "Aashish", "Bina", "Chintu" };
// Integer array that contains roll number of the
// students
Integer stuRollNo[] = { 1, 2, 3 };
// New HashMap obj
Map hashMap
= new HashMap();
// Iterating over array of strings
for (int i = 0; i < stuName.length; i++) {
// And set roll no as key and the name as value
hashMap.put(stuRollNo[i], stuName[i]);
}
// Printing HashMap
System.out.println("String to hashmap: " + hashMap);
}
}
输出
String to hashmap: {1=Aashish, 2=Bina, 3=Chintu}