Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则

【JAVA】Collections.sort()方法详解 是 Java 集合框架(Java Collections Framework)中的一个静态方法,用于对列表(List)中的元素进行排序。此方法利用了 Java 的泛型机制,可以很方便地对各种类型的列表进行排序。源码方法体:参数list:需要排序的列表。列表中的元素必须实现了 Comparable 接口,以便能够比较它们的大小。 阅读详情

Collections算法类

        1.Collections类是Java提供的一个集合操作工具类。

        2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序、查找和替换等操作。

        3.Collections和Collection是不同的,前者是集合的操作类,后者是集合接口

Collections的常用静态方法(不是所有的方法)

        1.sort(集合对象):排序

        2.binarySearch(集合对象):折半查找——返回查找对象下标位置

        3.max(集合对象) \ min(集合对象):查找最大\最小值——返回查找到的对象

Collections排序

        1.实现一个类的对象之间比较大小,该类要实现Comparable<T>接口(T为通配符,匹配一个类型,实现该接口需要传入实现类作为泛型约束)

        2.重写 Comparable<T>接口 的 public int compareTo(T o)方法 。

        3.实现方法返回值约定:如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数

Collections排序案例:

        学生类Student实现了Comparable<Student>接口,重写 compareTo(Student o)方法,通过比较学号实现对象之间的大小比较。

注意

        1. 使用Collections.sort(集合对象)排序时,如果集合中存的是Java自带的类型的数据,如Integer,则不需要该类型内实现Comparable<T>接口(阅读源码可发现其内部已自动实现接口重写方法),如果是自定义类型,如num类,Student类,则需要实现Comparable<T>并重写 public int compareTo(T o)方法。

        2.调用Collections.max和min不需要先排序,但是如果使用折半查找则必须先Collections.sort(集合对象)排序,不然折半查找不论是否存在都返回-1;

        3.实现compareTo(T o)方法,我们只要根据要求,对传入参数的相关数值进行判断比较,并返回相应的负整数零或者正整数即可,不需要关心比大小的具体实现,因为调用Collections.sort()方法后,其工具类会有相应的方法调用我们重写好的compareTo(T o)方法来使用。

实际操作

public class Test {
    public static void main(String[] args) {
        //创建集合并添加值
        List list = new ArrayList();
        list.add(new num(3));
        list.add(new num(2));
        list.add(new num(1));

        //调用排序方法
        Collections.sort(list);
        //输出排序后结果
        for (Object o: list) {
            System.out.println(((num)o).getNum());
        }
        System.out.println();
        //输出最大最小值
        System.out.println(((num)Collections.max(list)).getNum());
        System.out.println(((num)Collections.min(list)).getNum());
        System.out.println();
        //输出一个类型的在集合中的下标位置
        System.out.println((Collections.binarySearch(list,new num(1))));
        System.out.println();



    }
}

class num implements Comparable<num>{
    private int num;

    public num(int num) {
        this.num = num;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    /*
     *  重写的compareTo(num o)方法
     *  如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
     *  该对象:this,调用次方法的对象
     *  指定对象:参数传进来的对象
     * */
    @Override
    public int compareTo(num o) {
        return this.num>o.num?1:this.num==o.num?0:-1;
    }
}

运行后效果,先排序后遍历输出,后输出最大最小值,再输出一个指定对象所在集合的下标

 自定义排序规则

以此案例为例子解释 

        如果我们不想比学生的学号大小,假如现在要求按照学生成绩排序,那我们就根据成绩排序来做一个成绩排行榜,只需要在 compareTo 方法中把比较的参数换一下就行,比如原本是调用num这个属性,换成 this.age 和 参数对象.age 比较即可。

(此工具类有一个很好地特性,如果比较成绩,两个成绩相同,则会比较与之相邻的下一个数值型的值,判断大小来以此排列)


偏实用派的人推荐直接看这篇文章,言简意赅:Collections comparable_Azadoo的博客-优快云博客

63. 集合排序 Collections.sort Java中的Collections.sort()方法提供了两种方式对List集合进行排序:自然排序(基于Comparable接口)和自定义排序(通过Comparator)。自然排序要求元素实现Comparable接口并重写compareTo方法定义排序规则,适用于ArrayList、LinkedList等List实现类。方法采用TimSort算法,时间复杂度为O(n log n),直接修改原集合且保持稳定性。 阅读详情

相关推荐

TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

TreeMap和TreeSet都是有序的集合。 TreeSet要求集合中的元素实现Comparable接口,并实现compareTo方法进行比较,如果compareTo方法实现的不好,可能会导致元素插入失败,因为集合内部也通过compareTo方法来比较元素是否相等(而不是通过equals),即判断一个元素是否可插入。 TreeMap要求键列的元素实现Comparable接口,与TreeSet

LiQiyao的博客 2257

Collections.sort简介

  第9版《Java核心技术卷Ⅰ》的第607页介绍了一个方法: Collections类中的sort方法可以对实现了List接口的集合进行排序。这个方法假定列表元素实现了Comparable接口。   查看Java官方文档可知,sort方法有两种重载形式。第一种重载是: static <T extends Comparable<? super T>> void sort(List<T> list)   根据官方文档的描述,这个方法将列表元素进行升序..

Meiko记录 1万+

Java基础:Collections.sort的两种用法详解

Collections是⼀个⼯具类,sort是其中的静态⽅法,是⽤来对类型进⾏排序的,它有两种参数形式: 第一种方法 ⾸先使⽤基本类型(此处使⽤Integer)来演示第⼀个⽅法: 运行结果如下: 可以看到,默认的排序是正序,那么如何实现逆序呢,这就要使⽤第⼆种⽅式了,即通过实现Comparator接⼝的compare⽅法来完成⾃定义排序,代码如下: 可以看到,已经实现了逆序的排序了。接下来看看⾃定义类的排序: 定义⼀个Emp类: ⾸先使⽤同样的⽅式来使⽤Collections.sort⽅法:定义泛....

流楚丶格念的博客 6836

Java中Collections.sort()方法详解

Collections.sort()方法的参数为一个List集合,用于给集合进行排序。Collections.sort()内部进行了方法重载,可以只传入一个List集合参数,也可以传入一个List集合参数和一个Comparator接口对象并实现其中的compare方法。

m0_74376876的博客 7470

Java中Comparable接口和Comparator接口怎么用?

Java中Comparable接口和Comparator接口怎么用?

小贺想改变 1255

从编译到启动:RV1106嵌入式Linux系统构建的效率优化与深度实践

本文深入探讨RV1106嵌入式Linux系统构建的全流程优化策略,重点提升编译速度和驱动加载效率。通过并行编译配置、内核裁剪、驱动加载优化和硬件辅助加速等实践方法,显著缩短系统构建和启动时间,为嵌入式开发提供实用指导。

ttt77的博客 1032

Java中Collections.sort()排序详解

java中Collections.sort排序详解java基础—— Collections.sort的两种用法,简单明了 。java List 排序 Collections.sort()Java 中 Comparable 和 Comparator 比较第一种:ComparableComparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Compa

薛瑄的博客 7万+

Qt实战:用QCustomPlot实现毫秒级时间轴数据动态刷新(附完整代码)

本文深入探讨了在Qt框架下,如何利用QCustomPlot库高效实现毫秒级时间轴数据的动态刷新与实时可视化。针对工业物联网等高频数据场景,文章提供了从原理剖析、核心代码实现到性能优化的完整实战指南,包括滑动窗口管理、双定时器策略及坐标轴精确配置,帮助开发者构建稳定、流畅的专业级监控界面。

qsc90123456的博客 757

collections中的sort使用方法

collections是一个集合操作工具类,主要实现对集合的操作,其中sort方法是对集合元素进行排序,分别有两种形式,分别为: sort(List list) :根据元素的自然顺序 对指定列表按升序进行排序。 sort(List list, Comparator<? super T> c) :根据指定比较器产生的顺序对指定列表进行排序。 下面对其分别进行介绍: 1、sort(List list) 1.1、功能:此方法根据元素的自然顺序对指定列表按升序进行排序。 1.2、要求:此方法要求集合元素

weixin_45123763的博客 1万+

拆解一个带主动均衡的BMS模块:从变压器、MOS管矩阵到控制逻辑,图文详解内部设计与成本构成

本文深度拆解了一款带主动均衡功能的BMS模块,详细解析了其核心架构、元器件选型与成本构成。通过高频变压器、MOS管矩阵等硬件设计,该模块实现了高达87%的能量转移效率,远超普通被动均衡方案。文章还揭示了汽车级PCB设计、软件策略优化等关键技术细节,为锂电池管理系统设计提供了实用参考。

weixin_42638178的博客 345

M1/M2 Mac用户看过来:不装VirtualBox,用PD虚拟机也能跑ENSP的保姆级教程

本文为M1/M2 Mac用户提供了一份不依赖VirtualBox,使用Parallels Desktop虚拟机运行ENSP的详细指南。通过ARM架构的Win10镜像选择、组件替代方案和网络配置优化,实现ENSP核心功能的高效运行,特别适合网络工程师在苹果芯片设备上进行网络模拟。

weixin_28683065的博客 411

Java Sort 方法的使用(包含Arrays.sort(),Collections.sort()以及Comparable,Comparator的使用 )

Java Sort方法的使用

2302_79862386的博客 4431

清洁机器人之屏幕(中,大LCD)方案--ITE 联阳986x系列 soc显控芯片介绍

清洁机器人之屏幕(中,大LCD)方案--ITE 联阳986x系列 soc显控芯片介绍

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 2653

Collections.sort()的详细讲解

Collections.sort()的详细讲解 很多时候都需要对一些数据进行排序的操作。然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中。他们都提供了一个排序方法 sort(),要对数据排序直接使用这个方法就行,但是要保证集合中的对象是 可比较的。 怎么让一个对象是 可比较的,那就需要该对象实现 Comparable 接口啦。然后重写里面的 compareTo()方法。我们可以看到Java中很多类都是实现类这个接口的 如:Integer,Long 等 假设我们有一个学生类,默认需

qq_44721518的博客 3万+

Qt —— 百度地图 - 3、Qt调用高德在线地图功能示例(附源码)

Qt - 地图相关 —— 3、Qt调用高德在线地图功能示例(附源码)

495

动态视频目标追踪系统:基于YOLOv11+DeepSORT的从入门到实战全流程指南

仅保留车辆类别(假设车辆类别ID为2)if det.class_index == 2: # 车辆类别ID通过本指南,你已完成从环境搭建数据准备模型训练到追踪系统与UI界面的全流程,搭建了一套完整的动态视频目标追踪系统。该系统在安防监控、交通管理等场景中具有实用价值,可实现目标的实时稳定追踪。未来,你可尝试结合多模态特征(如目标外观+运动特征)提升追踪鲁棒性,或探索轻量化模型部署(如TensorRT加速),让系统在边缘设备上也能高效运行。

LXY_LOVE36的博客 142

Java排序方法sort的使用

为方便查阅sort相关使用,自己做的一个整理,可能有点乱并且不全,后续有机会再补充。 对数组的排序: //对数组排序 public void arraySort(){ int[] arr = {1,4,6,333,8,2}; Arrays.sort(arr);//使用java.util.Arrays对象的sort方法 for(int i=0;i<arr.leng...

l870358133的博客 6633

编写一个期货跨期套利的程序,谈谈思路及案例

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1718

JAVA集合类——实现List集合中数组的自动排序

文章目录实例描述:实现过程代码如下:代码解析:compareTo()方法定义:一个类实现该接口知识扩展 实例描述: 默认情况下 ,保存在List集合中的数组是不进行排序的,不过可以通过使用Comparable接口自定义排序规则并自动排序。本实例将介绍如何使用Comparable接口自定义排序规则并自动排序。 实现过程 1)新建项目ComparabelList,并在其中创建一个Employee...

2711871311的博客 5333

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Java的Sort方法和泛型中类型变量的限定

Java的Sort方法和泛型中类型变量的限定 1. 包含自定义类的集合使用Collections中的sort方法 Collections中的sort方法可以对集合进行排序,数字或字符串默认为升序排列。 sort方法原型 public static <T extends Comparable<? super T>> void sort(List<T> list) 关于此方法原型中泛型的解释见此博客下一节:Java泛型_类型变量的限定 那么当List中的T为自定义类时,该

qq_42537111的博客 511

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

面向对象经典应用 使用Comparable接口自定义排序 (Java经典编程案例)

默认情况下,保存在List集合中的数组是不进行排序的,不过可以使用Comparable接口自定义排序规则 并自动排序。 步骤1 : 新建一个Java类,实现Comparable接口定义的compareTo()方法,将对象按编号升序排列。 public class Employee implements Comparable<Employee> { private in...

数据知道的博客 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

如何重写Collections的排序方法

一.概述 在使用集合时,往往会将类的对象传入集合中,但当我们需要排序时,原有的.sort无法根据系统的规则来排序,所有这个时候需要我们重写排序规则 第一步:需要将传入集合的对象类绑定接口Comparable public class Studen implements Comparable { 第二部:重写方法compareTo public int compareTo(Object o) { 第三步:在方法内实现判断标准 二.代码示例 先创建个学生类,定义一个序号,和姓名的属性 /**

菜鸟也学大数据的博客 713

Java中应用Collections工具类的Sort()方法对List进行排序

一、Sort排序方法的使用: 1.对Integer类型进行排序     (该类型已经实现Comparable接口) 2.对String类类型进行排序   (该类型已经实现Comparable接口) 3.对其他类型进行排序         (需要自己实现Comparable接口) 二、Comparable接口和Comparator接口的比较:           1.Compara

BlueSky_USC的博客 6658

使用Comparable接口自定义排序

Comparable接口用于强行对实现它的每个类的对象进行排序。在实现该接口的类中,必须实现compareTo()方法,用于指定排序规则。Comparable的声明:public class A implements Comparable&lt;A&gt;{}在实现compareTo()方法后,若将对象保存到列表中,可通过执行Collections.sort()方法进行自动排序;若保存到数组中,可...

qq_25525563的博客 574

Comparable 接口和 Comparator 接口的区别及 sort()方法的使用

一、概述 Java 提供的 Comparable 和 Comparator 接口都是为我们解决比较两个对象的问题,都能实现数组和集合的排序。 两者也有所区别: Comparable 接口位于包 java.lang 下;Comparator 接口位于包 java.util 下。 Comparable 接口本身支持自比较,可以直接调用,是内部定义的排序;Comparator 接口要在一个独立的类中实...

kezhou的博客 492

Comparable实现排序功能,重写排序方法

/** * 实体类 * @author Administrator * */ /** * Comparable实现排序功能 * @author Administrator * */ public class Person implements Comparable{ private int id;//编号 private String name;//姓名 private

甲戌天火的博客 5011
上一篇: Java迭代器中的next()方法
下一篇: Java中的<T>是什么?
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾欲乘风归去,又恐琼楼玉宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值