通常Java开发人员如何进行数据排序?
淮安北大青鸟,Java培训。
在实际工作中和平时学习中,以及分析开源Java项目的大量源代码后,我发现Java开发人员通常使用两种方法。一是使用Collections或 Arrays的 sort()方法 ,另一种是使用数据结构排序,如 TreeMap和 TreeSet。
1、使用sort()方法进行排序,这也比较常的方法:
如果我们写代码时,用的是一个集合,那么使用Collections.sort()方法。
代码举例:
// 集合排序法Collections.sort
List
Collections.sort(list, new Comparator
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
public int compare(String o1, String o2){
return o1.toString().compareTo(o2.toString());
}});
如果我们已经建立好一个集合或数组,用这种方法排序非常方便。
2、使用数据结构排序方法
如果我们代码实现中是一个或一组列表,那么使用 TreeSet进行排序。
// TreeSet排序方法
Set
Set
public int compare(String o1, String o2) {
return o1.toString().compareTo(o2.toString());
}
});
sortedSet.addAll(unsortedSet);
如果代码实现是一个Map,那么使用 TreeMap进行排序。
// TreeMap方法
Map
Map
sortedMap.putAll(unsortedMap);
//TreeMap方法对比
Map
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;
}
学it就选淮安北大青鸟!!!
网上报名
新闻资讯
更多>>-
新人程序员初入职职场,如何快速融入?
2017-03-29
-
JT16006—我们毕业啦!
2017-04-05
-
【教师风采】认真是一种态度!
2017-03-30
-
那些程序员们会念错的单词,你中枪了吗?
2017-03-31
-
【面试】那些程序员需要了解的面试技巧
2017-04-07