java arraylist转hashmap
时间: 2023-02-07 13:05:31 浏览: 94
可以使用Java的Stream API来实现这个功能。
例如,假设你有一个ArrayList<String>,其中包含了若干个字符串,你想把它们转换为一个HashMap<String, Integer>,其中字符串作为键,出现次数作为值。
你可以使用以下代码来实现:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "apple", "banana");
Map<String, Integer> map = list.stream().collect(Collectors.toMap(
s -> s,
s -> 1,
(a, b) -> a + b
));
```
第一个参数是一个函数,用于将列表中的每个字符串映射为键,第二个参数是一个函数,用于将每个字符串映射为值1,第三个参数是一个二元运算符,用于将两个值合并为一个。
在这个例子中,最终得到的map将是:
```
{
"apple" -> 2,
"banana" -> 2,
"orange" -> 1
}
```
希望这对你有帮助!
相关问题
ArrayList<HashMap<String,String>>用法案例
ArrayList<HashMap<String,String>>是一个可以存储多个HashMap对象的动态数组。每个HashMap对象都包含一组键值对,其中键和值均为字符串类型。
下面是一个ArrayList<HashMap<String,String>>的用法案例:
```java
import java.util.ArrayList;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建一个ArrayList对象,用于存储HashMap对象
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
// 创建一个HashMap对象,包含两个键值对
HashMap<String,String> map1 = new HashMap<String,String>();
map1.put("name", "张三");
map1.put("age", "18");
// 将HashMap对象添加到ArrayList中
list.add(map1);
// 创建另一个HashMap对象,包含三个键值对
HashMap<String,String> map2 = new HashMap<String,String>();
map2.put("name", "李四");
map2.put("age", "20");
map2.put("gender", "男");
// 将另一个HashMap对象添加到ArrayList中
list.add(map2);
// 遍历ArrayList中的HashMap对象,输出每个键值对的值
for (HashMap<String,String> map : list) {
System.out.println("name: " + map.get("name"));
System.out.println("age: " + map.get("age"));
System.out.println("gender: " + map.get("gender"));
}
}
}
```
运行以上代码,输出结果为:
```
name: 张三
age: 18
gender: null
name: 李四
age: 20
gender: 男
```
可以看到,ArrayList中存储了两个HashMap对象,分别包含不同数量的键值对。在遍历ArrayList时,程序输出了每个键值对的值。如果某个HashMap对象中没有某个键,那么在输出时就会返回null。
ArrayList<HashMap<String, String>> tagList转为json
可以使用Gson库将ArrayList<HashMap<String, String>>转换为JSON格式。以下是一个示例代码:
```java
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建一个 ArrayList<HashMap<String, String>> 对象
ArrayList<HashMap<String, String>> tagList = new ArrayList<>();
HashMap<String, String> tag1 = new HashMap<>();
tag1.put("name", "tag1");
tag1.put("value", "value1");
tagList.add(tag1);
HashMap<String, String> tag2 = new HashMap<>();
tag2.put("name", "tag2");
tag2.put("value", "value2");
tagList.add(tag2);
// 将 ArrayList<HashMap<String, String>> 转换为 JSON 格式
Gson gson = new Gson();
String json = gson.toJson(tagList);
// 输出 JSON 字符串
System.out.println(json);
}
}
```
输出结果为:
```
[{"name":"tag1","value":"value1"},{"name":"tag2","value":"value2"}]
```