android - 用一个字符过滤 hashmap 列表
问题描述
我有以下列表,其中包含来自 sql server 的哈希映射字符串值并显示为列表。
List<Map<String, String>> data = new ArrayList<>();
Map<String, String> datanum = new HashMap<String, String>();
datanum.put("Name", rs.getString("FirstName"));
data.add(datanum);
我设法通过执行以下操作来过滤名称,一切正常。
List<Map<String, String>> filtered_name;
filtered_name = data.stream()
.filter(x -> ("string").equalsIgnoreCase(x.get("Name")))
.collect(Collectors.toList());
但是我现在所拥有的解决方案只有在输入完全匹配的情况下才有效。即使只输入一个字符也可以过滤吗?
在职的
Entered string: john
output: john xxx
john yyy
我在找什么:
Entered string: j
output: john xxx
john yyy
解决方案
您是否尝试将过滤器中的谓词更改为以下内容:
.filter(x -> x.get("Name").startsWith("string"))
这将过滤所有具有以“字符串”开头的“名称”键值的地图。
推荐阅读
- excel - 参数不是可选的,str =
- hadoop - mapreduce 的 Reducer 函数中的 ArrayIndexOutOfBoundException
- dialogflow-es - 获取 Skype 用户 ID 到对话流
- java - Spring Boot 微服务在 docker-swarm 中消耗大量内存
- django - 更改模型中的 Django 迁移错误(“重复键名”)
- angularjs - Angularjs:如何插入批量数据
- facebook - 我如何使用 facebook api 获取印象级别日志数据
- java - java创建一个类的方法调用另一个类的方法
- assembly - 我可以动态链接具有重复函数名称的库吗?
- ios - 播放现场 TuneIn Radio URL iOS Swift