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..
}
}