如何迭代 String Template 4 Map 的键和值?
How can I iterate over the keys and values of a String Template 4 Map?
在 StringTemplate 4 中,迭代的默认行为是迭代 keys
而不是 values
,这是版本 3 中的行为。
我找不到如何在版本 4 中同时迭代 keys
和 values
的语法。
有人可以post语法示例吗?
您可以使用间接 属性 引用来获取当前迭代中键的值。这是你的意思吗?
<myMap.keys:{k | <k> maps to <myMap.(k)>}; separator="\n">
打印:
Jake maps to Dog
Finn maps to Human
示例输入:
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
在 StringTemplate 4 中,迭代的默认行为是迭代 keys
而不是 values
,这是版本 3 中的行为。
我找不到如何在版本 4 中同时迭代 keys
和 values
的语法。
有人可以post语法示例吗?
您可以使用间接 属性 引用来获取当前迭代中键的值。这是你的意思吗?
<myMap.keys:{k | <k> maps to <myMap.(k)>}; separator="\n">
打印:
Jake maps to Dog
Finn maps to Human
示例输入:
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