将Java中的String或String数组转换为HashMap

将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}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程