获取List<map<>>中的value
时间: 2023-12-12 18:03:09 浏览: 69
可以通过遍历List中的每个map,然后通过key获取对应的value。示例代码如下:
```java
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "Alice");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Bob");
map2.put("age", 25);
list.add(map2);
// 遍历List中的每个map
for (Map<String, Object> map : list) {
// 通过key获取对应的value
String name = (String) map.get("name");
int age = (int) map.get("age");
System.out.println("name: " + name + ", age: " + age);
}
```
输出结果为:
```
name: Alice, age: 20
name: Bob, age: 25
```
相关问题
List<String> getOption(Map<String, Object> params); Map<String, Object> getFollowByOption(Map<String, Object> params); void sh(Map<String, Object> params); int remindCount(Map<String, Object> params); Map<String, Object> selectCal(Map<String, Object> params); List<Map<String, Object>> selectGroup(Map<String, Object> params); List<Map<String, Object>> selectValue(Map<String, Object> params);
这段代码是一个 MyBatis 的 Mapper 接口,提供了多个方法,用于从数据库中查询数据或执行操作。具体方法如下:
- getOption:返回一个字符串列表,用于前端下拉框等组件的选项。
- getFollowByOption:返回一个 Map 对象,用于根据选项查询关注的数据。
- sh:执行审核操作,没有返回值。
- remindCount:返回一个整数值,用于提醒数量的统计。
- selectCal:返回一个 Map 对象,用于查询某个统计数据。
- selectGroup:返回一个 Map 对象列表,用于按照分组查询数据。
- selectValue:返回一个 Map 对象列表,用于查询某个字段的值。
使用 ThreadLocal<List<Map<String,Object>>> new一个 List<Map<String,Object>>
使用 `ThreadLocal` 可以在多线程环境下,为每个线程创建一个独立的对象,以避免多线程操作同一个对象时的线程安全问题。你可以使用 `ThreadLocal` 来创建一个 `List<Map<String,Object>>` 对象,并将其设置为当前线程的局部变量。具体实现可以参考下面的代码:
```java
ThreadLocal<List<Map<String,Object>>> threadLocalList = new ThreadLocal<List<Map<String,Object>>>() {
@Override
protected List<Map<String,Object>> initialValue() {
// 在每个线程中初始化一个 List<Map<String,Object>> 对象
return new ArrayList<>();
}
};
// 在需要使用 List<Map<String,Object>> 的线程中,通过 threadLocalList.get() 方法获取当前线程的 List<Map<String,Object>> 对象,并向其中添加元素
List<Map<String,Object>> list = threadLocalList.get();
list.add(map);
```
在上面的代码中,我们使用了匿名内部类的方式创建了一个 `ThreadLocal` 对象,并重写了其 `initialValue` 方法,以在每个线程中初始化一个 `List<Map<String,Object>>` 对象。然后,在需要使用 `List<Map<String,Object>>` 的线程中,我们调用 `threadLocalList.get()` 方法获取当前线程的 `List<Map<String,Object>>` 对象,并向其中添加元素。
需要注意的是,由于 `ThreadLocal` 创建的对象是与线程绑定的,因此在每个线程中需要使用 `threadLocalList.get()` 方法来获取当前线程的对象。另外,在使用完 `List<Map<String,Object>>` 对象后,需要及时清空其中的元素,以避免对下一次使用产生影响。你可以在线程执行完毕后,通过调用 `threadLocalList.remove()` 方法来清空当前线程的 `List<Map<String,Object>>` 对象。
阅读全文