【问题标题】:How can I iterate over the keys and values of a String Template 4 Map?如何迭代字符串模板 4 映射的键和值?
【发布时间】:2015-08-25 19:54:07
【问题描述】:

在 StringTemplate 4 中,迭代的默认行为是迭代 keys 而不是 values,这是版本 3 中的行为。

对于版本 4,我找不到如何同时迭代 keys values 的语法。

有人可以发布语法示例吗?

【问题讨论】:

    标签: stringtemplate stringtemplate-4


    【解决方案1】:

    您可以使用间接属性引用来获取当前迭代中键的值。这是你的意思吗?

    <myMap.keys:{k | <k> maps to <myMap.(k)>}; separator="\n">
    

    打印:

    Jake maps to Dog
    Finn maps to Human
    

    【讨论】:

    • 冒险时间参考的奖励代表!
    【解决方案2】:

    示例输入:

    List<String> myList  =  new ArrayList<>();
    myList.add("k1");
    myList.add("k2");
    myList.add("k3");
    
    
    Map<String,String> myMap =  new HashMap<>();
    myMap.put("k1", "v1");
    myMap.put("k2", "v2");
    myMap.put("k3", "v3");
    
    • 以随机顺序打印键值对。

         $myMap.keys:{key | $key$  maps to $myMap.(key)$ }; separator="\n"$
      

    输出:(随机顺序)

     k3 maps to v3
     k1 maps to v1
     k2 maps to v2
    
    • 按列表定义的顺序打印键值对。

        $myList:{item | $item$  maps to $myMap.(item)$ }; separator="\n"$
      

    输出:(有序)

     k1 maps to v1
     k2 maps to v2
     k3 maps to v3
    

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 2011-10-04
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多