JAVA里List里面有多个值我怎么取特定的值?

来源:百度知道 编辑:UC知道 时间:2024/06/03 03:36:52
数据库里有name sex age 字段
我用个方法将这些字段保存在List里
现在有3条记录, 例如 zhangsan,boy,12 lisi,boy,21 lucy,girl,21
我现在只想取zhangsan的age 应该怎么取?

这个方法却把所有的年龄都取出来了
for(int i=0;i<li.size();i++)
{
User user = (User)li.get(i);
user.getAge(); 这里会取出12,21,21三个值
}
问题是我返回的是List类型 不是Map类型.

User user = (User)li.get(0); // 把i改成0就好了,说明你是取你list的第一个数据,你第一个数据就是zhangsan的
user.getAge(); // 这里得到一个值,你还可以通过user.getName等方法得到这个list中的所有有关张三的数据

使用HashMap或者HashTable

User user = new User();
user.setName("zhangsan");
user.setAge("18");
user.setSex("男");

Map m = new HashMap();
m.put(user.getName(), user);

取的时候只需要User user = (User)m.get("zhangsan");

看这样行不

String age = "";
for(int i=0;i<li.size();i++)
{
User user = (User)li.get(i);
if("zhangsan".equals(user.getName())){
age = user.getAge();
break;
}
}