如何迭代 String Template 4 Map 的键和值?

8
在StringTemplate 4中,迭代的默认行为是迭代keys而不是像版本3中一样迭代values
我找不到在版本4中如何同时迭代keysvalues的语法。
有人可以发布一个示例语法吗?
2个回答

11

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

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

打印:

Jake maps to Dog
Finn maps to Human

1
只翻译文本内容,不进行解释奖励加分是给予冒险时间参考的! - user177800

0

示例输入:

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$ 映射到 $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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接