从Arraylist中获取数据并输入到LinkedHashMap的put方法中

Getting Data from Arraylist and input into put method of LinkedHashMap

我在下面有这个函数,它接收一个字符串数组列表和 return 一个 LinkedHashMap。我计划随后使用此 linkedhashmap 写入文本文件。

    public Map<String,String> convertMap(ArrayList<String> Data){
    Map<String,String> myLinkedHashMap = new LinkedHashMap<String, String>();

    myLinkedHashMap.put("1", "first");
    myLinkedHashMap.put("2", "second");
    myLinkedHashMap.put("3", "third");

    return myLinkedHashMap;
    }

我坚持从 ArrayList 数据中获取相应的信息,以便使用 put 方法将其插入到 linkedhashmap 中。

假设 Arraylist 数据包含: 姓名:约翰 年龄:20 性别:男

我想替换“1”列的 'Name' 和 "First" 列的 'John'。

谁能指导我解决这个问题?

假设您的 ArrayList list 包含:

{"Name: John", "Age: 20", "Gender: Male"}

然后您可以遍历 ArrayList 中的每个元素以获取每个字符串。然后您可以将字符串拆分为 2,然后将两部分放入您的 HashMap:

for(String string : list) {
    String[] result = string.split(":", 2); // "Name: John"
    map.put(result[0], result[1].trim());   // becomes: "Name", "John"
}

我在第二个字符串上使用 trim() 来删除多余的空格。

注: 这不漂亮。这只允许特定格式的字符串,但如果它们 100% 是,则可以完成这项工作。