程序设计的基本目标,是“将保持不变的事情与会发生改变的事情相分离”。
Java标准类库中的排序算法针对正排序的特殊类型进行了优化,针对基本类型设计的“快速排序”(Quicksort),以及针对对象设计的“稳定归并排序”。所以无需担心排序的性能,除非你可以证明排序部分的确是程序效率的瓶颈。
- java.util.Arrays
Arrays.deepToString(); // 可打印多维数组
Arrays.fill(); // 填充数组
Arrays.equals(); // 比较两个数组是否相等
Arrays.sort(); // 对数组排序
Arrays.binarySearch(); // 在已经排好序的数组中查找元素
Arrays.toString(); // 产生数组的String表示
Arrays.hashCode(); // 产生数组的散列码
Arrays.asList(); // 将数组转变为List - System.arraycopy();
- java.lang.Comparable 接口
- java.util.Comparator 接口
- Collections.reverseOrder();
- String.CASE_INSENSITIVE_ORDER; // 比较器
- Arrays.binarySearch();
当你使用最近的Java版本编程时,应该“优选容器而不是数组”。
只有在已证明性能成为问题时(并且切换到数组对性能提高有所帮助),你才应该将程序重构为使用数组。
网友评论