题目:
用ArrayList存入Student自定义对象,Student类有name,age两个属性
按照age倒序排序。
思路:
1、创建ArrayList集合,并向集合中添加Student对象
2、新建一个Comparator比较器接口的实现类,重写compare方法,
按年龄倒序排序
3、调用Collections的sort方法传入Comparator比较器实现类
*/
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collections;
import java.util.Comparator;
class Test
{
public static void main(String[] args)
{
//创建集合
ArrayList<Student> list=new ArrayList<Student>();
//向集合中添加元素
list.add(new Student("张三",20));
list.add(new Student("李四",23));
list.add(new Student("王二",19));
//调用Collections的sort方法进行排序
Collections.sort(list, new MyComparator());
//遍历集合
Iterator it=list.iterator();
while(it.hasNext())
{
Student s=(Student)it.next();
System.out.println("name:"+s.getName()+",age:"+s.getAge());
}
}
}
//实现了Comparator比较器接口的自定义类
class MyComparator implements Comparator<Student>
{
@Override
public int compare(Student s1 ,Student s2)
{
//按年龄排序,从大到小
int num = s2.getAge() - s1.getAge();
return num;
}
}
//标准学生类
class Student
{
private String name;
private int age;
Student(){}
Student(String name,int age)
{
this.name=name;
this.age=age;
}
// set和get方法
public void setName( String name )
{
this.name=name;
}
public String getName()
{
return this.name;
}
public void setAge( int age )
{
this.age=age;
}
public int getAge()
{
return this.age;
}
}
今天重新打了一遍这个 感觉当时不会的地方都懂了 学习是一个循序渐进的事情 你不要着急 也不要在你迷茫的时候做出错误的选择 既然想好了选择这个行业 就要坚持下去 没有人天生就会什么 也没有人天生就什么都学不会 就看你努力不努力 坚持 坚持!!!! |
|