从map中过滤,如果key包含一个字符串返回,可以、
时间: 2024-03-05 08:53:27 浏览: 69
可以,可以使用Java 8中的Stream API来实现。具体代码如下所示:
Map<String, String> map = new HashMap<>();
map.put("apple", "red");
map.put("banana", "yellow");
map.put("orange", "orange");
map.put("grape", "purple");
String filterKey = "an";
Map<String, String> filteredMap = map.entrySet().stream()
.filter(entry -> entry.getKey().contains(filterKey))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(filteredMap); // 输出结果为 {banana=yellow, orange=orange}
在上面的代码中,我们定义了一个Map,然后使用Stream API对其进行过滤。在这里,我们过滤出了所有key包含字符串"an"的entry,并将它们收集到一个新的Map中。最后,我们将过滤后的Map输出到控制台上。
相关问题
从map中过滤,如果key包含一个字符串返回key对应的value值,否则返回null
可以,可以使用Java 8中的Stream API来实现。具体代码如下所示:
Map<String, String> map = new HashMap<>();
map.put("apple", "red");
map.put("banana", "yellow");
map.put("orange", "orange");
map.put("grape", "purple");
String filterKey = "an";
String filteredValue = map.entrySet().stream()
.filter(entry -> entry.getKey().contains(filterKey))
.findFirst()
.map(Map.Entry::getValue)
.orElse(null);
System.out.println(filteredValue); // 输出结果为 "yellow"
在上面的代码中,我们定义了一个Map,然后使用Stream API对其进行过滤。在这里,我们过滤出了第一个key包含字符串"an"的entry,然后取出它的value值。如果不存在符合条件的entry,我们将返回null。最后,我们将过滤后的value值输出到控制台上。
JSON字符串转MAP,过滤NULL
JSON字符串转换成Map通常是在处理Web服务返回的数据时常见的操作,特别是在使用Java等语言时。首先,你需要将JSON字符串解析为一个JSONObject或JSONArray对象。对于JSONObject,你可以通过键值对的形式将其转化为Map,例如:
import org.json.JSONObject;
import java.util.Map;
public Map<String, Object> jsonToMap(String jsonString) {
JSONObject jsonObject = new JSONObject(jsonString);
return jsonObject.toMap();
}
如果你想过滤掉null值,可以遍历map并添加条件检查:
Map<String, Object> filteredMap = new HashMap<>();
for (Map.Entry<String, Object> entry : jsonObject.toMap().entrySet()) {
if (entry.getValue() != null) {
filteredMap.put(entry.getKey(), entry.getValue());
}
}
对于JSONArray,可以先转换为List再逐个元素处理。
JSONArray jsonArray = new JSONArray(jsonString);
List<Map<String, Object>> list = jsonArray.toList(Map.class);
List<Map<String, Object>> filteredList = list.stream()
.filter(map -> !map.values().contains(null))
.collect(Collectors.toList());
阅读全文
相关推荐














