假设我现在有一个列表复制代码
有什么方法能够实现搜索功能,如:
搜索关键字"ni",能够返回列表中所有带有"ni"的项
又有什么方法能够实现排序功能,如:
用 [0-9-a-z-A-Z] 的顺序排序列表(如果没记错这好像是叫正则表达式吧?没了解过)
如上两个问题该如何解决?
- "nihao"
- "nihaoya"
- "haoya"
有什么方法能够实现搜索功能,如:
搜索关键字"ni",能够返回列表中所有带有"ni"的项
又有什么方法能够实现排序功能,如:
用 [0-9-a-z-A-Z] 的顺序排序列表(如果没记错这好像是叫正则表达式吧?没了解过)
如上两个问题该如何解决?
搜索好像可以遍历数组,查找每一项中是否有关键字,有则加入搜索结果列表
排序目前毫无思路
排序目前毫无思路
本帖最后由 凌语丶 于 2023-1-6 17:41 编辑
1.(伪代码)
List res,input;
String filter = "ni";
for(String s : input)
if(s.contains(filter))
res.put(s);
return res;
2.你可以把大小写颠倒,然后进行字典序比较
大小写颠倒:
使用foreach遍历列表 再套一层foreach遍历每个字符 进行如下操作
如果 c >= 'A' && c <= 'Z' 那么 c += 'a' - 'A'
如果 c >= 'a' && c <= 'z' 那么 c -= 'a' - 'A'
1.(伪代码)
List res,input;
String filter = "ni";
for(String s : input)
if(s.contains(filter))
res.put(s);
return res;
2.你可以把大小写颠倒,然后进行字典序比较
大小写颠倒:
使用foreach遍历列表 再套一层foreach遍历每个字符 进行如下操作
如果 c >= 'A' && c <= 'Z' 那么 c += 'a' - 'A'
如果 c >= 'a' && c <= 'z' 那么 c -= 'a' - 'A'
List#stream().filter
List#sort
List#sort