• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Collections的工具类方法sort一

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0704/5296.html 1190000019658799

package com.itheima.demo05.Collections;

import java.util.ArrayList;
import java.util.Collections;

/*

- java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:
    public static <T> void sort(List<T> list):将集合中元素按照默认规则排序。

注意:
     sort(List<T> list)使用前提
     被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则

Comparable接口的排序规则:
    自己(this)-参数:升序

*/
public class Demo02Sort {

public static void main(String[] args) {
    ArrayList<Integer> list01 = new ArrayList<>();
    list01.add(1);
    list01.add(3);
    list01.add(2);
    System.out.println(list01);//[1, 3, 2]

    //public static <T> void sort(List<T> list):将集合中元素按照默认规则排序。
    Collections.sort(list01);//默认是升序

    System.out.println(list01);//[1, 2, 3]

    ArrayList<String> list02 = new ArrayList<>();
    list02.add("a");
    list02.add("c");
    list02.add("b");
    System.out.println(list02);//[a, c, b]

    Collections.sort(list02);
    System.out.println(list02);//[a, b, c]

    ArrayList<Person> list03 = new ArrayList<>();
    list03.add(new Person("张三",18));
    list03.add(new Person("李四",20));
    list03.add(new Person("王五",15));
    System.out.println(list03);//[Person{name='张三', age=18}, Person{name='李四', age=20}, Person{name='王五', age=15}]

    Collections.sort(list03);
    System.out.println(list03);
}

}

package com.itheima.demo05.Collections;

public class Person implements Comparable<Person>{

private String name;
private int age;

public Person() {
}

public Person(String name, int age) {
    this.name = name;
    this.age = age;
}

@Override
public String toString() {
    return "Person{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

//重写排序的规则
@Override
public int compareTo(Person o) {
    //return 0;//认为元素都是相同的
    //自定义比较的规则,比较两个人的年龄(this,参数Person)
    //return this.getAge() - o.getAge();//年龄升序排序
    return o.getAge() - this.getAge();//年龄升序排序
}

}

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!