java 知道泛型ArrayList<student>中的一个元素ID号,如何打印出这ID号对应的name?
ArrayList<Student>stu=newArrayList<Student>//这个student包含有IDnamesex等元素。知道一个ID,如何打印这ID对...
ArrayList<Student> stu = new ArrayList<Student> //这个student包含有ID name sex 等元素。知道一个ID,如何打印这ID对应的name?
展开
3个回答
展开全部
是这样查找吗?
import java.util.ArrayList;
import java.util.List;
public class Test{
public static void main(String args[])
{
List<Student> students=new ArrayList<Student>();
students.add(new Student(1,"张三","男"));
students.add(new Student(2,"李四","男"));
students.add(new Student(3,"王五","女"));
Student s=getById(2,students);
System.out.println("通过ID=2查找:\t"+s.id+"\t"+s.name+"\t"+s.sex);
}
public static Student getById(int id,List<Student> s)
{
for(int i=0;i<s.size();i++)
{
if(s.get(i).id==id)
return s.get(i);
}
return null;
}
}
class Student
{
public int id;
public String name;
public String sex;
public Student(int id,String name,String sex)
{
this.id=id;
this.name=name;
this.sex=sex;
}
}
结果:
展开全部
据我所知,你只能遍历整个list,然后挨个判断ID,匹配时打印出name。
追问
书籍着重说集合的遍历和判断,很少举例泛型集合判断一元素符合后,输出对应的其它元素,不知道怎样get需要的元素
追答
你这个问题其实和泛型没有什么关系,所谓泛型说白了就是要保证list里的对象都属于同一类型,在你遍历的过程中,取出的每一个元素就是一个Student对象,这时你就要判断这个对象的ID是不是和你要的ID一致,如果一致则取出当前对象的其他属性。
longlongzhuerr的答案是比较正确的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(Student s:stu){
if(s.ID==已知ID){
system.out.print(s.name);
}
}
if(s.ID==已知ID){
system.out.print(s.name);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询