Android Collections.sort的几种用法介绍

2024-06-09 03:08

本文主要是介绍Android Collections.sort的几种用法介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java代码  收藏代码
  1. /** 
  2. * @author alex 
  3. * @version 创建时间:2014-11-3 上午10:49:36 
  4. * 类说明 
  5. */   
  6. package com.jabberchina.test;  
  7.   
  8. import java.util.ArrayList;  
  9. import java.util.Collections;  
  10. import java.util.Comparator;  
  11. import java.util.List;  
  12.   
  13. public class SortTest {  
  14.       
  15.       
  16.       
  17.     public static void main(String[] args) {  
  18.         List<String> lists = new ArrayList<String>();  
  19.         List<A> list = new ArrayList<A>();  
  20.         List<B> listB = new ArrayList<B>();  
  21.         lists.add("5");  
  22.         lists.add("2");  
  23.         lists.add("9");  
  24.         //lists中的对象String 本身含有compareTo方法,所以可以直接调用sort方法,按自然顺序排序,即升序排序  
  25.         Collections.sort(lists);  
  26.           
  27.         A aa = new A();  
  28.         aa.setName("aa");  
  29.         aa.setOrder(1);  
  30.         A bb = new A();  
  31.         bb.setName("bb");  
  32.         bb.setOrder(2);  
  33.         list.add(bb);  
  34.         list.add(aa);  
  35.         //list中的对象A实现Comparable接口  
  36.         Collections.sort(list);  
  37.           
  38.         B ab = new B();  
  39.         ab.setName("ab");  
  40.         ab.setOrder("1");  
  41.         B ba = new B();  
  42.         ba.setName("ba");  
  43.         ba.setOrder("2");  
  44.         listB.add(ba);  
  45.         listB.add(ab);  
  46.         //根据Collections.sort重载方法来实现  
  47.         Collections.sort(listB,new Comparator<B>(){  
  48.             @Override  
  49.             public int compare(B b1, B b2) {  
  50.                 return b1.getOrder().compareTo(b2.getOrder());  
  51.             }  
  52.               
  53.         });  
  54.           
  55.         System.out.println(lists);  
  56.         System.out.println(list);  
  57.         System.out.println(listB);  
  58.           
  59.     }  
  60.   
  61. }  
  62.   
  63. class A implements Comparable<A>{  
  64.     private String name;  
  65.     private Integer order;  
  66.     public String getName() {  
  67.         return name;  
  68.     }  
  69.     public void setName(String name) {  
  70.         this.name = name;  
  71.     }  
  72.       
  73.     public Integer getOrder() {  
  74.         return order;  
  75.     }  
  76.     public void setOrder(Integer order) {  
  77.         this.order = order;  
  78.     }  
  79.     @Override  
  80.     public String toString() {  
  81.         return "name is "+name+" order is "+order;  
  82.     }  
  83.     @Override  
  84.     public int compareTo(A a) {  
  85.         return this.order.compareTo(a.getOrder());  
  86.     }  
  87.       
  88. }  
  89.   
  90. class B{  
  91.     private String name;  
  92.     private String order;  
  93.     public String getName() {  
  94.         return name;  
  95.     }  
  96.     public void setName(String name) {  
  97.         this.name = name;  
  98.     }  
  99.     public String getOrder() {  
  100.         return order;  
  101.     }  
  102.     public void setOrder(String order) {  
  103.         this.order = order;  
  104.     }  
  105.     @Override  
  106.     public String toString() {  
  107.         return "name is "+name+" order is "+order;  
  108.     }  
  109. }  
  110.   
  111. 打印的结果为:  
  112.  [259]  
  113. [name is aa order is 1, name is bb order is 2]  
  114. [name is ab order is 1, name is ba order is 2]  

这篇关于Android Collections.sort的几种用法介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044080

相关文章

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro