JAVA1.8新特性如何用List实现根据id查询?

其实就是模拟数据库方式查询

1.模拟数据库数据库:
public static List usersPage(){

	List<Users> users = new ArrayList<>();
	Users u = new Users();
	u.setAge("15");
	u.setId("1");
	u.setName("张三");
	u.setSex("男");
	
	Users u2 = new Users();
	u2.setId("2");
	u2.setAge("34");
	u2.setName("王二");
	u2.setSex("男");
	
	Users u3 = new Users();
	u3.setId("3");
	u3.setAge("32");
	u3.setName("丽萍");
	u3.setSex("女");
	Users u4 = new Users();
	u4.setId("4");
	u4.setAge("45");
	u4.setName("刘亦菲");
	u4.setSex("女");
	
	Users u5 = new Users();
	u5.setId("5");
	u5.setAge("23");
	u5.setName("杨幂");
	u5.setSex("女");
	Users u6 = new Users();
	u6.setId("6");
	u6.setAge("62");
	u6.setName("霍建华");
	u6.setSex("男");
	Users u7 = new Users();
	u7.setId("7");
	u7.setAge("37");
	u7.setName("胡歌");
	u7.setSex("男");
	Users u8 = new Users();
	u8.setId("8");
	u8.setAge("18");
	u8.setName("范彬彬");
	u8.setSex("女");
	Users u9 = new Users();
	u9.setId("9");
	u9.setAge("45");
	u9.setName("蒋欣");
	u9.setSex("女");
	Users u10 = new Users();
	u10 .setId("10");
	 u10 .setAge("23");
	 u10 .setName("杨紫");
	 u10 .setSex("女");
	Users u11 = new Users();
	u11.setAge("24");
	u11.setId("11");
	u11.setName("张一山");
	u11.setSex("男");
	Users u12 = new Users();
	u12.setId("12");
	u12.setAge("45");
	u12.setName("周润发");
	u12.setSex("男");
	
	Users u13 = new Users();
	u13.setId("13");
	u13.setAge("46");
	u13.setName("周星次");
	u13.setSex("男");
	Users u14 = new Users();
	u14.setAge("54");
	u14.setId("14");
	u14.setName("张柏芝");
	u14.setSex("女");
	users.add(u);
	users.add(u2);
	users.add(u3);
	users.add(u4);
	users.add(u5);
	users.add(u6);
	users.add(u7);
	users.add(u8);
	users.add(u9);
	users.add(u10);
	users.add(u11);
	users.add(u12);
	users.add(u13);
	users.add(u14);
	
			
	return users;
}

2.使用lamda表达式根据id查询:
public static Map findById(String id){
Map<String,Object> map = new HashMap<>();
if(org.apache.commons.lang3.StringUtils.isNotEmpty(id)){
List lists = usersPage();
Optional cartOptional = lists.stream().filter(item -> item.getId().equals(id)).findFirst();
if (cartOptional.isPresent()) {
// 存在
Users data = cartOptional.get();
System.out.println(data);
map.put(“data”, data);
map.put(“code”, “success”);
} else {
// 不存在
map.put(“data”, “系统有误”);
map.put(“code”, “fail”);
}
}else{
map.put(“code”, “id参数不能为空”);
}

	return map;
}

3.main方法运行结果:
public static void main(String[] args) {
Map<String,Object> map2 =findById(“12”);
System.out.println(map2);
}

4.输出结果:
Users [id=12, name=周润发, sex=男, age=45]
{code=success, data=Users [id=12, name=周润发, sex=男, age=45]}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于List中是int类型的元素,可以使用Collections.sort(List<T> list) 方法进行升序排序,使用Collections.reverse(List<T> list) 方法进行降序排序。 对于List中是String类型的元素,可以使用Collections.sort(List<T> list, Comparator<? super T> c) 方法进行排序。其中,Comparator接口可以自定义比较器,实现对String类型的元素进行排序。 对于List中是实体类的元素,可以同样使用Collections.sort(List<T> list, Comparator<? super T> c) 方法进行排序。而在实体类中,需要对比较的字段进行重写compareTo()方法,或者实现Comparator接口进行自定义比较器。例如,对于实体类中的String类型的字段进行排序: ``` public class Entity implements Comparable<Entity> { private String name; // getter and setter @Override public int compareTo(Entity o) { return this.name.compareTo(o.getName()); } } ``` 对于实体类中的int类型的字段进行排序: ``` public class Entity implements Comparable<Entity> { private int id; // getter and setter @Override public int compareTo(Entity o) { return Integer.compare(this.id, o.getId()); } } ``` 然后,可以使用Collections.sort(List<T> list) 方法进行升序排序,使用Collections.reverse(List<T> list) 方法进行降序排序。如果需要按照实体类中的String类型的字段进行排序,可以使用Collections.sort(List<T> list, Comparator<? super T> c) 方法,自定义比较器,实现对实体类中的字段进行排序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唂雨云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值