Java ArrayList Collection.sort排序示例
2013-04-25 21:10
621 查看
通过查源码(这里没有写出),Collection.sort下的排序实际上是一个MergeSort,归并排序
以下是一个简单的double数据排序例子,将double一个个放到Arraylist里面,然后用Collections.sort排序
如果要对其他数据类型排序也是很简单的,修改implements Comparator实例的compare方法就行了
代码比较明朗,就不多说啦
一下是输入1000个0-999随机数的排序结果:
以下是一个简单的double数据排序例子,将double一个个放到Arraylist里面,然后用Collections.sort排序
如果要对其他数据类型排序也是很简单的,修改implements Comparator实例的compare方法就行了
代码比较明朗,就不多说啦
import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class _qsort { public final static int ARR_LIMIT = 100; public static class DoubleComparator implements Comparator { public int compare(Object obj1, Object obj2) { Double p1 = (Double) obj1; Double p2 = (Double) obj2; if (p1 > p2) return 1; else return 0; } } public static void main(String[] args) throws IOException { String input_str = ""; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); input_str = br.readLine(); String[] numb_str = input_str.split(" "); ArrayList<Double> numb_double = new ArrayList<Double>(); for (int i = 0; i < numb_str.length; i++) { numb_str[i] = numb_str[i].replace(",", "");//去除输入的, if(!numb_str[i].isEmpty()) numb_double.add(Double.parseDouble(numb_str[i])); } DoubleComparator cmp = new DoubleComparator(); long startTime=System.nanoTime(); Collections.sort(numb_double, cmp); long endTime=System.nanoTime(); System.out.println(numb_double); System.out.println("程序运行时间: "+(endTime - startTime) + "ns"); } }
一下是输入1000个0-999随机数的排序结果:
相关文章推荐
- java 将数组排序 指这种数组:[] ArrayList之类的请用Collection.sort
- 用Collection.sort对 ArrayList容器中对象的id 进行排序
- java 编程思想中的PriorityBlockingQueue 部分里对PrioritizedTask的排序没有显式调用collection的sort方法。而是通过take时做的这个动作
- java教程之二个arraylist排序的示例分享
- java collection.sort()根据时间排序list
- Java中使用Collections.sort对List里面的元素排序示例
- Java1.7通过collections类的sort方法对ArrayList进行排序无效的解决办法。
- Java中,通过使用Collections.sort对ArrayList进行排序
- java的arraylist排序示例(arraylist用法)
- JAVA 利用Arraylist.sort()进行排序的实现。(comparable接口的实现)
- java collection.sort()根据时间排序list
- java的arraylist排序示例(arraylist用法)
- java的arraylist排序示例(arraylist用法)
- java collection.sort()根据时间排序list
- java的arraylist排序示例(arraylist用法)
- java实现ArrayList根据存储对象排序功能示例
- java中使用sort()对ArrayList进行排序
- Java集合对象的排序使用Collection.sort方法,先实现Comparable接口
- Java 数序和集合框架的转化 & Collection.sort()方法排序的两种方式
- java对ArrayList排序代码示例