Collections集合工具类
示例代码01:
public class CollectionsTest01 { public static void main(String[] args) { // 创建List集合 List a = new ArrayList(); // 为集合中添加元素 a.add(45); a.add(2); a.add(15); a.add(65); // 遍历元素 // 在for中创建迭代器 for (Iterator i = a.iterator();i.hasNext();) { System.out.println("排序前:"+i.next()); } System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); // 使用Collections集合工具类为ArrayList集合排序 Collections.sort(a); // 遍历元素 // 在for中创建迭代器 for (Iterator i = a.iterator();i.hasNext();) { System.out.println("排序后:"+i.next()); } // 以上方法使用Collections类中的sort排序方法,都是使用的包装类型,而包装类型 // SUN公司都实现了: // 1.Comparable类中compareTo方法,注(形参只需要一个,另一个直接调用当前类的对象) // 2.Comparator中compare方法 List a2 = new ArrayList(); a2.add(new Person(20)); a2.add(new Person(50)); a2.add(new Person(40)); a2.add(new Person(10)); Collections.sort(a2); for (Iterator i2 = a2.iterator();i2.hasNext();) { System.out.println(i2.next()); } // 自定义类如果需要排序必须实现以上两种方法其中一种 } } class Person implements Comparable { public int compareTo(Object o) { int a1 = this.age; int a2 = ((Person)o).age; if (a1==a2) { return 0; }else if (a1>a2) { return 1; }else { return -1; } } private int age; public Person(int age) { this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person{" + "age=" + age + '}'; } } class PersonSort implements Comparator { public int compare(Object o1,Object o2) { int a1 = ((Person)o1).getAge(); int a2 = ((Person)o2).getAge(); if (a1==a2) { return 0; }else if (a1>a2) { return 1; }else { return -1; } } }