【发布时间】:2020-07-03 15:02:39
【问题描述】:
我有以下列表,其中包含来自 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
【问题讨论】:
-
将 equalsIgnoreCase 更改为 contains
-
@CôngHải 你的建议导致空指针异常。