IT培训网 - IT职场人学IT技术上IT培训网
分析Java程序员如何实现数据排序
时间:2017-10-12 14:28:29 来源:Java培训网 作者:IT培训网 已有:名学员访问该课程
在程序开发工作中,经常会用于数据排序法,作为java程序员,同样的需要有熟练的技巧,java数据排序法通常有两种,一种用Collections或 Arrays的sort()方法 ,其次使用数据结构排序,如 TreeMap和 TreeSet,当然还有其它方法并不常用,下面就做以下详细分析。
1、使用sort()方法进行排序
如果我们写代码时,用的是一个集合,那么使用Collections.sort()方法。
代码举例:
// 集合排序法Collections.sort
List<String> list =new ArrayList<String>();
Collections.sort(list, new Comparator<String>(){
public int compare(String o1, String o2){
return o1.toString().compareTo(o2.toString());
}});
如果代码实现中用的是一个数组,那么使用 Arrays.sort()方法。
// 数组排序法Arrays.sort
String[] arr =new String[10];
Arrays.sort(arr, new Comparator<String>(){
public int compare(String o1, String o2){
return o1.toString().compareTo(o2.toString());
}});
如果我们已经建立好一个集合或数组,用这种方法排序非常方便。
2、使用数据结构排序方法
如果我们代码实现中是一个或一组列表,那么使用 TreeSet进行排序。
// TreeSet排序方法
Set<String> unsortedSet =new TreeSet<String>();
Set<String> sortedSet = new TreeSet<String>(new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
sortedSet.addAll(unsortedSet);
如果代码实现是一个Map,那么使用 TreeMap进行排序。
// TreeMap方法
Map<String, Integer> unsortedMap = new TreeMap<String, Integer>();
Map<String, Integer> sortedMap = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
sortedMap.putAll(unsortedMap);
//TreeMap方法对比
Map<ObjectName, String> sortedMap1 = new TreeMap<ObjectName, String>(new Comparator<ObjectName>() {
public int compare(ObjectName o1, ObjectName o2) {
return o1.toString().compareTo(o2.toString());
}
});
sortedMap.putAll(unsortedMap);
这种方法在开发过程中非常有用,如果你想实现在集合中做搜索操作,数据结构排序方法,会提高效率。
3、不合理的使用方法
比如使用自定义排序算法,下面以代码为例进行说明,这种方法不仅算法是无效的,而且可读性很差。
double t;
double[] r = new double[5];
for (int i = 0; i < 2; i++)
for (int j = i + 1; j < 3; j++)
if (r[j] < r[i]) {
t = r[i];
r[i] = r[j];
r[j] = t;
}
以上针对java排序法做了详细解析,什么是合理排序法,什么是不合理的方法,都做了详细解答,学的要精,掌握两种常用的java排序法,让你在排序过程中受益无穷。
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。