赞
踩
例如:我有一个集合,里面存了三个名字:张大三,张小三,李老四。现在我想根据参数 “张” 来模糊查询集合里符合条件的数据,也就是 “张大三”,“张小三” 这两条数据,那么应该怎么做呢?
非常简单,上代码:
//新建一个List空集合,并往里添加三条数据
List list = new ArrayList();
//第一条
UserInfo userInfo = new UserInfo();
userInfo.setNickName("张大三");
list.add(userInfo);
//第二条
UserInfo userInfo1 = new UserInfo();
userInfo1.setNickName("张小三");
list.add(userInfo1);
//第三条
UserInfo userInfo2 = new UserInfo();
userInfo2.setNickName("李老四");
list.add(userInfo2);
//新建空集合,用来存储查询出来的数据
List results = new ArrayList();
//模糊查询 使用(Pattern、Matcher)
Pattern pattern = Pattern.compile("张");
for(int i=0; i < list.size(); i++){
Matcher matcher = pattern.matcher(((UserInfo)list.get(i)).getNickName());
if(matcher.find()){ //matcher.find()-为模糊查询 matcher.matches()-为精确查询
results.add(list.get(i));
}
}
//输出结果
System.out.println(results);
输出的结果为:
[UserInfo (nickName=张大三), UserInfo1(nickName=张小三)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。