sort() 排序不影响原数组,data.concat([])

本文介绍JavaScript中sort()方法的应用,包括如何实现数组元素的升序和降序排列,并提供了具体的实现代码示例。

sort()方法,会更改最原始的数据形式,建议进行备份,使用 data.concat([])

 success:function(data){

            var orginDown = data.concat([]);
            var orginUp = data.concat([]);

            /*降序----默认*/
            function downFun(x,y){
                return (x.math < y.math) ? 1 : -1;
            }

            function upFun(x,y){
                return (x.math > y.math) ? 1 : -1;
            }

            /*降序*/
            var downData = orginDown.sort(downFun);

            /*升序*/
            var upData = orginUp.sort(upFun);

            /*加载*/
            function showHtml(){}

        }
### Java 中数组排序的方法 在 Java 编程语言中,`Arrays` 类提供了多种方法来实现数组排序功能。以下是几种常见的数组排序方法及其示例。 #### 使用 `Arrays.sort()` 方法 `Arrays.sort()` 是一种内置方法,可以对数组中的元素按照升序排列。该方法支持基本数据类型的数组以及对象数组排序[^1]。 ```java import java.util.Arrays; public class ArraySortExample { public static void main(String[] args) { int[] array = {5, 2, 8, 3, 9}; // 调用 Arrays.sort() 进行排序 Arrays.sort(array); // 输出排序后的结果 System.out.println(Arrays.toString(array)); } } ``` 上述代码展示了如何通过调用 `Arrays.sort()` 来对整型数组进行排序,并打印排序后的结果[^2]。 --- #### 并行排序 (`Arrays.parallelSort`) Java 8 引入了新的并行排序方法 `parallelSort`,它利用多线程技术加速大规模数组排序过程。对于较大的数组,这种方法可能更高效。 ```java import java.util.Arrays; public class ParallelArraySortExample { public static void main(String[] args) { int[] largeArray = new int[10000]; // 初始化一个较大规模的随机数组 for (int i = 0; i < largeArray.length; i++) { largeArray[i] = (int)(Math.random() * 10000); } // 使用 parallelSort 执行排序操作 Arrays.parallelSort(largeArray); // 验证前几个元素是否已按顺序排列 System.out.println(Arrays.toString(Arrays.copyOfRange(largeArray, 0, 10))); } } ``` 此示例演示了如何使用 `Arrays.parallelSort()` 对大型数组执行高效的并行排序--- #### 自定义排序逻辑 如果需要自定义排序规则(例如降序),可以通过传递 `Comparator` 接口给 `sort` 方法完成特定需求[^3]。 ```java import java.util.Arrays; import java.util.Comparator; class CustomComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { return o2.compareTo(o1); // 实现降序排序 } } public class CustomSortExample { public static void main(String[] args) { Integer[] array = {5, 2, 8, 3, 9}; // 使用自定义比较器进行排序 Arrays.sort(array, new CustomComparator()); // 输出排序后的结果 System.out.println(Arrays.toString(array)); } } ``` 这段代码展示了一个简单的例子,说明如何通过提供定制化的 `Comparator` 来改变默认的自然排序行为。 --- #### 冒泡排序算法 除了使用标准库提供的工具外,还可以手动编写一些经典的排序算法,比如冒泡排序。下面是一个基于冒泡排序理的手动实现: ```java import java.util.Arrays; public class BubbleSortExample { public static void main(String[] args) { int[] array = {5, 2, 8, 3, 9}; // 冒泡排序核心逻辑 for (int i = 0; i < array.length - 1; i++) { for (int j = 0; j < array.length - 1 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } // 输出最终的结果 System.out.println(Arrays.toString(array)); } } ``` 这里实现了最基本的冒泡排序版本,其中每次迭代都会将当前最大的值移动到未排序部分的末端。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值