本帖最后由 张钶 于 2013-3-26 21:46 编辑
package it.cast.exercise;
import java.util.ArrayList;
import java.util.List;
import cn.itcast.bean.Person;
public class Exercise6 {
/**
* 对集合中的元素进行排序
* @param list 要排序的集合
*/
public static void main(String[] args) {
ArrayList<Person> al = new ArrayList<Person>(); //创建一个新的集合
al.add(new Person("张三", 25)); //向集合中存储元素
al.add(new Person("李四", 19));
al.add(new Person("王五", 20));
al.add(new Person("赵六", 28));
sort(al);
System.out.println(al);
}
public static <E> void sort(List<E> list) {
for (int i = 0; i < list.size()-1; i++) { //用选择排序的方法进行操作
for (int j = i+1; j < list.size(); j++) {
if (list.get(i).getAge() > list.get(j).getAge())
swap(list, i, j); //交换两元素位置
}
}
}
public static <E> void swap(List<E> list, int index1, int index2) { // 在方法上定义一个泛型
E temp = list.get(index1); // 定义一个临时变量, 记住其中一个元素
list.set(index1, list.get(index2)); // 用第一个位置存放第二个位置上的元素
list.set(index2, temp); // 用第二个位置存放临时变量记住的元素
}
}
帮我看下是哪里错了?谢谢
|