【java】数组/列表排序功能的两种实现
2013-08-29 01:39
525 查看
A)如果比较的是基本类型数组,则可以直接使用Arrays.sort()方法:
int temp[] = {2,4,5,3,1};
Arrays.sort(temp);
B)如果数组中的元素为对象,或者比较列表,则需要该对象的类实现Comparable接口或者定义比较器并实现Comparator接口:
(1)比较的对象实现Comparable<Object>接口:
public interf Comparable<T>
{
public int compareTo(T o);
}
然后直接调用Arrays.sort(对象数组)或者Collections.sort(对象列表)即可实现排序。
(2)如果需要比较的对象无法实现comparable接口,则可以定义比较器并实现Comparator接口:
public interf Comparable<T>
{
public int compare(T o1,T o2);
boolean equals(Object obj);
}
然后调用Arrays.sort(对象数组,比较器对象)或者Collections.sort(对象列表,比较器对象)即可实现排序。
int temp[] = {2,4,5,3,1};
Arrays.sort(temp);
B)如果数组中的元素为对象,或者比较列表,则需要该对象的类实现Comparable接口或者定义比较器并实现Comparator接口:
(1)比较的对象实现Comparable<Object>接口:
public interf Comparable<T>
{
public int compareTo(T o);
}
然后直接调用Arrays.sort(对象数组)或者Collections.sort(对象列表)即可实现排序。
(2)如果需要比较的对象无法实现comparable接口,则可以定义比较器并实现Comparator接口:
public interf Comparable<T>
{
public int compare(T o1,T o2);
boolean equals(Object obj);
}
然后调用Arrays.sort(对象数组,比较器对象)或者Collections.sort(对象列表,比较器对象)即可实现排序。
相关文章推荐
- 黑马程序员——Java基础 数组排序的两种实现方法,选择和冒泡
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- java数组的排序 对象数组的排序 Comoarable接口实现 compareTo函数实现
- Java数组排序中Comparator接口实现自定义排序
- 剑指offer面试题java实现之题4之相关题目:两个排序数组合并
- java实现合并两个已经排序的列表实例代码
- Java中使用Comparable和Comparator实现字段排序功能
- 【LeetCode-面试算法经典-Java实现】【081-Search in Rotated Sorted Array II(搜索旋转的排序数组)】
- Java 实现Map集合排序功能
- java数组随机排序实现代码
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- java map实现排序功能
- Java对List进行排序的两种实现方法
- [转]列表控件排序功能的实现
- 10.6 分别用字符数组和字符指针作函数参数两种方法编程实现在字符串每个字符间插入一个空格的功能
- java数组的排序 对象数组的排序 Comoarable接口实现 compareTo函数实现
- java在线聊天项目0.3版本 制作客户端窗体,实现发送按钮和回车发送信息功能,使用ActionListener监听事件中actionPerformed方法(用内部类和匿名内部类两种方法)
- java 递归全排列 (数组,容器两种实现)
- java实现把对象数组通过excel方式导出的功能
- [Android开发] 在项目中快速实现 列表字母排序滑动索引 功能原理以及过程代码