美文网首页
Java-集合对象比较

Java-集合对象比较

作者: hello_world_cxm | 来源:发表于2021-01-03 19:31 被阅读0次
package Hello1;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test11 {
    public static void main(String[] args) {
//      String[] ss = {"cxxm","aegr","die","poit"};
//      Arrays.sort(ss);  //有s的Arrays表明是一种工具类,所有方法都是静态的 不需要实例化 sort方法可以排序基本数据类型
//      //也是可以排序对象,但是要继承comparable接口,自定义排序规则
//      for(String s:ss) {
//          System.out.println(s);
//      }
        Student[] xx = {  //定义一个对象数组
            new Student("cxm",34),
            new Student("axm",36),
            new Student("ssm",32),
            new Student("kxm",31),
        };
        List<Student> LL= Arrays.asList(xx);
        Collections.sort(LL);
        for(Student ss: xx) {
            System.out.println(ss.toString());
        }
    }
}
class Student implements Comparable<Student>{ 
    //Student实现Comparable接口,但是如果是想按照年龄来排序的话,就会频繁地更改了Student内的代码,非常不灵活
    //解决思路:实例化一个比较器,比较逻辑就在比较器内定义,然后collections.sort(LL,c1)就传入一个比较器对象 c1是比较器
    //注意一旦传入了比较器对象,那么比较逻辑就会用c1里面的
    public String name;
    public int age;
    public Student(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    @Override
    public int compareTo(Student o) {
        //System.out.println("this age"+this.age);
        //Comparable 有个compareto的方法,实现类必须实现
        //return this.age-o.age; //compareTo最后返回的是负正整数的,负数的排行前面
        //return this.age.compareTo(o.age);  报错:无法在原始类型int上调用compareTo(int)
        return this.name.compareTo(o.name); //String本身实现了compareTo方法
    }
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
    
}

相关文章

  • Java-集合对象比较

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

  • Java排序之集合排序

    集合排序 要么让集合的对象具有比较性也就是让集合中的对象实现Comparable接口 自定义比较器实现Com...

  • Java-集合

    Collection: 在Java类库中,集合类的基本接口是Collection接口,这个接口有两个基本方法: 迭...

  • JAVA-集合

    JAVA集合 Java集合是使程序能够存储和操纵元素不固定的一组数据。 JAVA中的集合是一个类似一个‘’容器‘’...

  • Java-集合

    List接口特点: 允许重复元素必须是有序的可以放入null元素 ArrayList特点 里面维护的是一个数组 默...

  • java-集合

    CollectionListSet泛型MapCollections Collecton1.1 集合知识回顾集合类的...

  • C#入门经典(第6版)阅读笔记(第二篇)(11章集合比较和转换)

    目录 第十一章 集合、比较和转换 第十一章 集合、比较和转换 集合:可以使用集合来维护数组,控制对它们对象的访问、...

  • Java基础—set集合

    Set集合 Set集合中元素是无序的,不可以重复,在Set集合中存储的对象,不存在两个对象equals比较为tru...

  • Java- 对象和类

    Java- 对象和类 类是对象的模板。它定义对象的属性,并提供创建对象的构造方法以及对对象进行操作的方法。 类也...

网友评论

      本文标题:Java-集合对象比较

      本文链接:https://www.haomeiwen.com/subject/islpoktx.html