【问题标题】:Splitting key values from stringlist从字符串列表中拆分键值
【发布时间】:2016-12-09 11:17:40
【问题描述】:

好的,所以我在列表中有字符串,如下所示: - String, boolean 我基本上想从一个长字符串列表(向下进行)中抓取一整堆这些并将它们放入如下所示的哈希图中,这样我就可以简单地获取键(字符串)并从键中获取boolean 值。

哈希图: public HashMap<String, Boolean> keyValues = new HashMap<String, Boolean>();

提前谢谢各位。

PS:第一次使用stackoverflow,让我们看看如何!

【问题讨论】:

  • 给出一个具体的数据列表并展示你的尝试
  • 好的,我有如下数据:types-enabled: - SIGN_COLOUR, false - SIGN_FORMAT, false - SIGN_ASHOP, false - SIGN_PSHOP, false 我尝试通过逗号拆分字符串,但我不知道如何实际获取值。
  • types-enabled: 是您输入数据的一部分吗?
  • 没有这个数据在yaml配置中,types-enabled只是一个配置路径

标签: java string hashmap


【解决方案1】:

如果你想在一行中完成:

Pattern.compile("-")
    .splitAsStream(s)
        .map(string -> string.split(","))
            .collect(Collectors.toMap(k -> k[0], v -> Boolean.valueOf(v[1])));

s 是这样的字符串:

SIGN_COLOUR, false - SIGN_FORMAT, false - SIGN_ASHOP, false - SIGN_PSHOP, false

【讨论】:

    【解决方案2】:

    这应该很容易吧?

    public static Map<String,Boolean> toMap(List<String> l) {
        HashMap<String,Boolean> m = new HashMap<String,Boolean>();
        l.forEach((s) -> { String[] t=s.split(","); m.put(t[0], new Boolean(t[1])); });
        return m;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      相关资源
      最近更新 更多