【问题标题】:Convert two comma separated strings to Map [duplicate]将两个逗号分隔的字符串转换为 Map [重复]
【发布时间】:2016-08-19 20:47:57
【问题描述】:

我有两个逗号分隔的字符串。我希望通过按索引绑定值将这些值放入映射中。一种方法是使用以下示例:

package com.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class StringToMap {

    public static void main(String[] args) {
        String s1 = "1, 2, 3";
        String s2 = "a, b, c";
        Map<String, String> m = new HashMap<String, String>();

        List<String> s1List = new ArrayList<String>(Arrays.asList(s1.split(",")));
        List<String> s2List = new ArrayList<String>(Arrays.asList(s2.split(",")));

        for (int i = 0; i < s1List.size(); i++) {
            m.put(s1List.get(i).trim(), s2List.get(i).trim());
        }

        System.out.println(m);
    }
}

结果是:{3=c, 2=b, 1=a}。有没有其他有效/最好的方法来做到这一点?

【问题讨论】:

标签: java string dictionary


【解决方案1】:

你怎么看这个??

public static void main(String[] args) {
    String s1 = "1, 2, 3";
    String s2 = "a, b, c";
    Map<String, String> m = new HashMap<String, String>();
    String s1List [] = s1.split(",");
    String s2List [] = s2.split(",");
    for (int i = 0; i < s1List.length && i < s2List.length; i++) {
        m.put(s1List[i].trim(), s2List[i].trim());
    }
    System.out.println(m);
}

【讨论】:

  • 我会在循环之外拆分。
  • 效率不高。
  • @Thomas 我已根据您的建议更新了我的答案。感谢您改进我的代码。
  • @shmosel 你能告诉我哪里可以改进我的答案吗?
  • @Abhishek,我的问题和 Thomas 一样。但我看你也忘了trim()
猜你喜欢
  • 1970-01-01
  • 2015-08-22
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2017-10-02
  • 1970-01-01
相关资源
最近更新 更多