玩命加载中 . . .

Collections集合工具类(45)


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;
            }
        }
    }
    

文章作者: 小靳同学
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小靳同学 !
评论
  目录