把集合中存储多个Person对象,Person有姓名和年龄,找出年龄最大的
a,定义一个Person类型的变量, 先记住第一个元素
b,循环遍历集合
c,用每一个元素和变量比较年龄, 如果集合中的元素比变量记住的年龄大
d,用变量记住这个年龄较大的元素
e,返回变量记住的元素
ArrayList<Person> lis2 = new ArrayList<>();
lis2.add(new Person("这个不是最大的",26));
lis2.add(new Person("这个也不是最大的",25));
lis2.add(new Person("这个还不是最大的",24));
lis2.add(new Person("这个!!",27));
Person pp = lis2.get(0);//获取初始元素值,用来做比较
for (Person person : lis2) {//person代表每一个元素值。
if (pp.getAge()<person.getAge()) {
pp=person;
}
}
System.out.println(pp.getAge());
ArrayList<Person> lis1 = new ArrayList<>();
lis1.add(new Person("张宇峰",99));
lis1.add(new Person("赵润琦",27));
lis1.add(new Person("泽东",96));
lis1.add(new Person("请问",23));
int count = 0;//记录遍历次数,相当与普通for循环的 i 记录所引值
int index = 0;//初始索引
for (Person person : lis1) {
count++;
if (person.getAge()>lis1.get(index).getAge()) {
index = count;
}
}System.out.println(lis1.get(index));
ArrayList<Person> lis1 = new ArrayList<>();
lis1.add(new Person("张宇峰",24));
lis1.add(new Person("夯老师",34));
lis1.add(new Person("张宇",45));
lis1.add(new Person("最大的",55));
int index = 0;
for (int i = 1; i < lis1.size(); i++) {
//System.out.println(lis1.get(i));
Person p1 = lis1.get(i);
Person p2 = lis1.get(index);
if (p1.getAge()>p2.getAge()) {
index = i;//将最小元素的索引赋值给index
}
}
Person p = lis1.get(index);//get(index)就是获取元素
System.out.println("名字:"+p.getName()+"\n"+"年龄:"+p.getAge()); |