<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
java 使用sort进行排序是非常容易的,可以支持默认自然循序排序和指定排序。
指定排序有两种方式
1、
这个是list里面的类要继承Comparable 然后在里面实现public int compareTo(T o);就行
2 、
是在方法里面用比较器来实现
java8里面会更简单的方式来使用
java8中添加了stream的概念
1、sorted()
默认使用自然序排序, 其中的元素必须实现Comparable
接口
2、sorted(Comparator<? super T> comparator)
:我们可以使用lambada 来创建一个Comparator
实例。可以按照升序或着降序来排序元素。
使用起来会非常方便
public class Test { public static void main(String[] args) { List<TestClass> testClassList=new ArrayList<>(); TestClass testClass=new TestClass(); testClass.setDefualt(true); testClass.setName("name"); testClassList.add(testClass); TestClass testClass1=new TestClass(); testClass1.setDefualt(false); testClass1.setName("name1"); testClassList.add(testClass1); TestClass testClass2=new TestClass(); testClass2.setDefualt(true); testClass2.setName("name2"); testClassList.add(testClass2); System.out.println(testClassList); System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); List<TestClass> testClassList1=testClassList.stream().sorted(Comparator.comparing(TestClass::getDefualt).reversed()).collect(Collectors.toList()); System.out.println(testClassList1); } static class TestClass{ private String name; private Boolean isDefualt; public String getName() { return name; } public void setName(String name) { this.name = name; } public Boolean getDefualt() { return isDefualt; } public void setDefualt(Boolean defualt) { isDefualt = defualt; } @Override public String toString() { return "TestClass{" + "name='" + name + '\'' + ", isDefualt=" + isDefualt + '}'; } } }
上面不管是java8或者非java8的,都提到了自然序排序(有小到大)。那到底怎么来java里的自然序排序是啥呢,其实是非常简单的,因为所有的排序都要有排序因子,而具体的排序算法都是通过public interface Comparable<T> 这个接口里的public int compareTo(T o)来做的
这样我们就能看java提供的八种基本类型都是怎么排序的了。
例如咱们看Boolean型的
看他的比较方法,就能看出来是true是大于false的
其他的也是类似的查看方法
相关推荐
java sort排序算法实例完整代码
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
NULL 博文链接:https://xuedong.iteye.com/blog/1147254
数据结构中排序算法的java代码实现
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
提供插入排序,选择排序,冒泡排序三种排序方法,对数据进行排序,并可以在图形界面演示排序过程。 执行语句:java sort <输入方式> <图形界面/非图形...java sort 3 2 //随机生成1000个数据并在图形界面中演示排序过程
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
用java实现选择排序SelectSort 用java实现选择排序SelectSort 用java实现选择排序SelectSort
主要介绍了Java实现拖拽列表项的排序功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
JAVA实现StoogeSort方法排序,简单演示。
Java对象排序中文排序SortedSet排序使用和源码讲解Java开发Java经验技巧共13页.pdf.zip
数据结构之JAVA排序JAVASORT.pdf
做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,3种算法在源包中的sorts文件夹下,分别为: BinSort.java(折半插入排序) QKSort.java(快速...
自己写的4个Java代码,内有详细注释,适合想学... insertion_sort.java --插入排序 Divide.java --分治排序 HanoiCompute.java --递归实现汉诺塔 FileCtrl.java --递归实现显示目录下的所有文件和文件夹
用java实现插入排序InsertSort 用java实现插入排序InsertSort用 java实现插入排序InsertSort
java sort 简单的排序 好麻烦啊
几种常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序的Java代码实现,有注释,容易理解。下载下来之后换一下包路径即可,欢迎留言评论
sort 排序算法大全sort 排序算法大全sort 排序算法大全sort 排序算法大全sort 排序算法大全sort 排序算法大全sort 排序算法大全
java对象排序
要求:用一个类来描述一个排序算法,类中的sort方法通过调用比较、交换方法来实现数组排序。排序类放入一个特定的包MySort中。 (1)写一个final参数类M,包括比较次数、交换次数、探测次数属性,并重写构造器和...