首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一下,java api中已实现的排序方法比如快速排序在那些类中

2012-01-23 
弱弱的问一下,java api中已实现的排序方法比如快速排序在那些类中等待挨批中------[解决办法]Arrays, Coll

弱弱的问一下,java api中已实现的排序方法比如快速排序在那些类中
等待挨批中------

[解决办法]
Arrays, Collections
[解决办法]
貌似是归并排序, 不是快速排序, 给个例子你

Java code
package foundations.array;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Iterator;public class DateComparator implements Comparator {        /**     * 对日期进行排列;越接近当前时间的,越排在前面。     *      * 日期格式:year-month-day xx:xx:xx     */            public int compare(Object obj1, Object obj2) {                String date1 = (String)obj1;        String date2 = (String)obj2;                ArrayList<Integer> date1Arr = parseDate(date1);        ArrayList<Integer> date2Arr = parseDate(date2);                int i = 0;        while (i < date1Arr.size()) {            if (date1Arr.get(i) > date2Arr.get(i))                return 1;            else if (date1Arr.get(i) < date2Arr.get(i))                return -1;            else                i++;        }                return 0;               }            /**     * parseDate: 解析日期,从中提取出年月日时分秒     *      * @param Date 所要解析的日期  & 日期格式: year-month-day xx:xx:xx     * @return 存储 年、月、日、时、分、秒 的数组     */        public ArrayList<Integer> parseDate(String date)    {        ArrayList<Integer> dateTime = new ArrayList<Integer>();        String[] get = date.split(" ");        String[] getDate = get[0].split("-");        String[] getTime = get[1].split(":");        try {            for (String s: getDate) {                int target = Integer.parseInt(s);                dateTime.add(target);            }            for (String s: getTime) {                int target = Integer.parseInt(s);                dateTime.add(target);            }        }        catch (Exception e) {            e.printStackTrace();        }        return dateTime;            }            public static void main(String[] args) {                // 解析日期        DateComparator dc = new DateComparator();        ArrayList dateTime = dc.parseDate("2010-10-07 9:03:07");        Iterator iter = dateTime.iterator();        while (iter.hasNext()) {            Integer i = (Integer)iter.next();            System.out.println(i);        }                // 对日期排序        ArrayList<String> dateStrs = new ArrayList<String>();        dateStrs.add("2010-9-7 9:03:07");        dateStrs.add("2010-10-6 9:03:07");        dateStrs.add("2010-9-16 9:03:07");        dateStrs.add("2010-9-7 10:12:07");                Collections.sort(dateStrs, new DateComparator());                iter = dateStrs.iterator();        while (iter.hasNext()) {            String datestr = (String)iter.next();            System.out.println(datestr);        }                    }}
[解决办法]
Java API中貌似没有实现快速排序,因为这个效率太低了。Java中Arrays和Collections中都有sort()方法,合并排序算法,效率绝对比快速排序高很多。
[解决办法]
探讨
Java API中貌似没有实现快速排序,因为这个效率太低了。Java中Arrays和Collections中都有sort()方法,合并排序算法,效率绝对比快速排序高很多。

[解决办法]
平时用到的工具都在util包里面
常用的工具类:
操作数组的: Arrays
集合: Collections
线程: Excutors

热点排行