java:数组集合-排序

Java. util. Arrays 类:有一系列操作 Array 数组的 static 方法
Java.util. Collections 类:有一系列操作集合的 static 方法
 
Arrays 数组排序方法 :参见 JDK API Arrays .
List 集合排序方法
Collections 类里的 sort()

 
 
方法 1 :元素实现 Comparable 接口
J ava 本身的一些类如: String Integer 基本数据类型等,都实现了 Comparable 接口,直接可以对这些元素排序。 ( 默认升序 )
而用户自定义的类,如要对其排序,则需 实现 Comparabla 接口,实现 compareTo() 方法。
 
class  Song implements  Comparable<Song>  {
public  String songName ;
 
public   int   compareTo (Song o) {
return   songName .compareTo(o. songName );
// 这是比较投机取巧的方法,因为 String 有它的 compareTo() 方法,所以借用就好 ,如果想降序,可以 *-1
}
}
public   class  testA {
public   static   void  main(String[] args) {
ArrayList<Song> list = new  ArrayList<Song>();
.. 添加数据 ..
Collections. sort (list);
.. 列出 list..
}
}
 
S ong 本身调用 compareTo(Song o) 方法,并与传入的 Song 参数进行比较,得出排序逻辑:
本身 > 参数 :返回正数 升序
本身 < 参数 :返回负数 降序
本身 = 参数 :返回 0
 
方法 2 :自制 Comparator
方法 1 中的 list 的元素只能有一种比较方法,要想有 多种不同的比较方法 ,可 自制 Comparator 。此方法不用实现 Comparable 接口
class  Song{
public  String songName ;
}
class  SongNameCompare implements  Comparator<Song>  {
public   int   compare (Song o1, Song o2) {
return  o1. songName .compareTo(o2. songName );
}
}
public   class  testA {
public   static   void  main(String[] args) {
ArrayList<Song> list = new  ArrayList<Song>();
.. 添加数据 ..
Collections. sort (list, new  SongNameCompare());
.. 列出 list..
}
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值