博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java实现数据排序_分析Java程序员如何实现数据排序
阅读量:6903 次
发布时间:2019-06-27

本文共 1614 字,大约阅读时间需要 5 分钟。

在程序开发工作中,经常会用于数据排序法,作为java程序员,同样的需要有熟练的技巧,java数据排序法通常有两种,一种用Collections或 Arrays的sort()方法 ,其次使用数据结构排序,如 TreeMap和 TreeSet,当然还有其它方法并不常用,下面就做以下详细分析。

654f36f2ea3d04a2e7f9f7e6eeb41edb.png

1、使用sort()方法进行排序

如果我们写代码时,用的是一个集合,那么使用Collections.sort()方法。

代码举例:

// 集合排序法Collections.sort

List list =new ArrayList();

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 unsortedSet =new TreeSet();

Set sortedSet = new TreeSet(new Comparator() {

public int compare(String o1, String o2) {

return o1.toString().compareTo(o2.toString());

}

});

sortedSet.addAll(unsortedSet);

如果代码实现是一个Map,那么使用 TreeMap进行排序。

// TreeMap方法

Map unsortedMap = new TreeMap();

Map sortedMap = new TreeMap(String.CASE_INSENSITIVE_ORDER);

sortedMap.putAll(unsortedMap);

//TreeMap方法对比

Map sortedMap1 = new TreeMap(new Comparator() {

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排序法,让你在排序过程中受益无穷。

转载地址:http://evodl.baihongyu.com/

你可能感兴趣的文章
02. SQL表达式的灵活使用
查看>>
【机器学习算法-python实现】决策树-Decision tree(1) 信息熵划分数据集
查看>>
最新的goldengate monitor 12.1.3已经发布
查看>>
为Kindeditor控件添加图片自动上传功能
查看>>
相克军_Oracle体系_随堂笔记005-Database buffer cache
查看>>
Ruby gem: Mac 系统下的安装与更新
查看>>
Android之在string.xml配置文字颜色粗体等效果
查看>>
angular -- $routeParams API翻译
查看>>
IDFA问题,苹果上传问题。improper Advertising identifier [IDFA] Usage.
查看>>
ASP.NET防止用户多次登录的方法
查看>>
2D多边形碰撞器优化器
查看>>
webBrowser 模拟登录
查看>>
C# 采用线程重绘图形要点记录
查看>>
About Technology Research
查看>>
postgres安装 以及修改postgres 密码
查看>>
java + jni + mingw实例开发(基于命令行窗口模式)
查看>>
【LeetCode】7. Reverse Integer
查看>>
Struts2总结
查看>>
CentOS6.5菜鸟之旅:VIM插件NERDtree初探
查看>>
【记录】ASP.NET MVC RegisterBundles
查看>>