Posts

Showing posts with the label 工具类

Java对象的排序查找及比较

在我们的编程过程中自然避免不了与排序打交道,而Java语言提供了排序算法的封装(包括数组排序和集合排序),对其底层实现感兴趣的同学可以查看其源代码(虽然Java内置了排序方法,学习排序方法还是很有必要的,正如我曾经看到的一个非十分恰当的比喻,如今已经有各种代步工具,但我们还是要从走路学起。何况众算法各有各的优势,多掌握一种算法就多了一种选择),除了排序之外本文还会讲到查找的知识(二分法查找),当然,此查找也是内置方法。至于比较则是本文的重点内容,其比较的定义决定了元素的排序方式。 Arrays类,数组的排序及查找 成员: public static void sort(List list); public static void sort(List list,Comparator c); public static int binarySearch(List list,Object key); public static int binarySearch(List list,Object key,Comparator c); Arrays.asList(10,7,6,5,9)方法可以直接得到一个List对象 Arrays类提供了sort(),binarySearch()静态方法 执行binarySearch()之前应调用sort() 例: String[] s={.....}; Arrays.<String>sort(s); Arrays.<String>binarySearch(s,x); //x为想要查找的元素 Collectsions类,集合的排序及查找 成员: public static void sort(List list);   //Comparable接口 public static void sort(List list,Comparator c);   //Comparator接口 public static int binarySearch(List list,Object key);   //Comparable接口 public static int ...