📌  相关文章
📜  Java中将字符串或字符串数组转换为HashMap

📅  最后修改于: 2022-05-13 01:54:54.748000             🧑  作者: Mango

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}