我使用com.apache.http.NameValuePair
从请求网址捕获参数,基本上将这些参数存储在List<NameValuePair>
中。要对这些参数进行某些检查和验证,我需要将该列表转换为HashMap<String, String>
。有没有办法进行这种转换?
答案 0 :(得分:9)
你使用Java 8吗?在这种情况下,您可以使用Collectors.toMap()方法:
Map<String, String> mapped = list.stream().collect(
Collectors.toMap(NameValuePair::getName, NameValuePair::getValue));
否则你必须遍历元素
for(NameValuePair element : list) {
//logic to convert list entries to hash map entries
}
为了更好地理解,请查看此tutorial。
答案 1 :(得分:1)
您可以将它用于Java 8
<configuration>
<includes>
<include>**/*IT.java</include>
<include>**/*Configurator.java</include>
</includes>
<groups>http</groups>
</configuration>
以下是如何在列表中使用它:
public static <K, V, T extends V> Map<K, V> toMapBy(List<T> list,
Function<? super T, ? extends K> mapper) {
return list.stream().collect(Collectors.toMap(mapper, Function.identity()));
}
点击链接: