如何将List <NameValuePair>转换为hashMap <String,String>?

Don*_*hon 4 java arraylist hashmap

我正在从请求网址中捕获参数,使用com.apache.http.NameValuePair这些参数基本上存储了这些参数List<NameValuePair>.要对这些参数进行某些检查和验证,我需要将该列表转换为HashMap<String, String>.有没有办法进行这种转换?

Jer*_*j K 10

你使用Java 8吗?在这种情况下,您可以使用Collectors.toMap()方法:

Map<String, String> mapped = list.stream().collect(
        Collectors.toMap(NameValuePair::getName, NameValuePair::getValue));
Run Code Online (Sandbox Code Playgroud)

否则你将不得不遍历元素

for(NameValuePair element : list) {
  //logic to convert list entries to hash map entries
}
Run Code Online (Sandbox Code Playgroud)

为了更好地理解,请查看本教程.