蓝桥杯-排序

数组排序

Arrays.sort(int[] a)

这种形式是对一个数组的所有元素进行排序,并且时按从小到大的顺序。

java 复制代码
package Work;

import java.util.*;

public class Imcomplete {
	public static void main(String args[]) {
		int arr[]=new int [] {1,324,4,5,7,2};
		Arrays.sort(arr);
		for(int x:arr) {
			System.out.print(x+" ");
		}
		
	}
}

Arrays.sort(T[] arr,Comparator<T>c)用Comparator接口实现自定义顺序规则

实现Comparator接口实现降序

java 复制代码
package AAA;

import java.util.*;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Integer[] arr= {1,324,2,5,4,45,8};
		Arrays.sort( arr, 
				new Comparator<Integer>(){
			//重写comparator方法
				@Override
				public int compare(Integer o1, Integer o2) {
					// TODO Auto-generated method stub
					return o2-o1;	
					//返回>0交换。
				}	
		});
		System.out.println("您所输入的数组经过降序处理后为:");
		for(int x:arr) {
			System.out.print(x+" ");
		}
	}

}

如果return o1-o2;则实现升序


Arrays.sort(arr,(o11,o2)->o1-o2)

java引入Lambda简写comparator:Arrays.sort(arr,(o11,o2)->o1-o2)

实现升序

java 复制代码
package AAA;

import java.util.*;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Integer[] arr= {1,324,2,5,4,45,8};
		
		Arrays.sort(arr,(o1,o2)->o1-o2);
		System.out.println("您所输入的数组经过升序处理后为:");
		for(int x:arr) {
			System.out.print(x+" ");
		}
	}

}

集合排序

Collections.sort(int []arr)

这种形式是对一个集合的所有元素进行排序,并且按从小到大的顺序。

java 复制代码
package AAA;

import java.util.*;

public class Pasage {
	public static void main(String args[]) {
		List<Integer> list=new ArrayList();
		list.add(3);
		list.add(1);
		list.add(8);
		list.add(2);
		Collections.sort(list);
		System.out.println("经过升序排列所得结果为:");
		for(int x:list) {
			System.out.print(x+" ");
		}
	}

}
使用Lambda实现降序
java 复制代码
package AAA;

import java.util.*;

public class Pasage {
	public static void main(String args[]) {
		List<Integer> list=new ArrayList();
		list.add(3);
		list.add(1);
		list.add(8);
		list.add(2);
		Collections.sort(list,(o1,o2)->o2-o1);
		System.out.println("经过降序排列所得结果为:");
		for(int x:list) {
			System.out.print(x+" ");
		}
	}

}

Lambda其实是对comparator进行重写。

java 复制代码
package AAA;

import java.util.*;

public class Pasage {
	public static void main(String args[]) {
		List<Integer> list=new ArrayList();
		list.add(3);
		list.add(1);
		list.add(8);
		list.add(2);
		Collections.sort(list,new Comparator<Integer>() {

			@Override
			public int compare(Integer o1, Integer o2) {
				// TODO Auto-generated method stub
				return o2-o1;
			}
			
		});
		System.out.println("经过降序排列所得结果为:");
		for(int x:list) {
			System.out.print(x+" ");
		}
	}

}
相关推荐
铭哥的编程日记1 天前
深入浅出蓝桥杯:算法基础概念与实战应用(一)基础算法(上)
算法·职场和发展·蓝桥杯
小年糕是糕手1 天前
【数据结构】常见的排序算法 -- 选择排序
linux·数据结构·c++·算法·leetcode·蓝桥杯·排序算法
_OP_CHEN2 天前
算法基础篇:(四)基础算法之前缀和
c++·算法·前缀和·蓝桥杯·acm·icpc·算法竞赛
No0d1es2 天前
2025年第十六届蓝桥杯青少组省赛 C++编程 中级组真题
c++·青少年编程·蓝桥杯·省赛
@小码农3 天前
2025年北京海淀区中小学生信息学竞赛第一赛段试题(附答案)
人工智能·python·算法·蓝桥杯
程序猿_极客3 天前
【2025】16届蓝桥杯 Java 组全题详解(省赛真题 + 思路 + 代码)
java·开发语言·职场和发展·蓝桥杯
.ZGR.6 天前
第十六届蓝桥杯省赛 C 组——Java题解1(链表知识点)
java·算法·链表·蓝桥杯
summer__77777 天前
33-蓝桥杯报名通知
蓝桥杯
关于不上作者榜就原神启动那件事7 天前
14届蓝桥杯省赛c++b组,全题题解
职场和发展·蓝桥杯
.ZGR.9 天前
蓝桥杯高校新生编程赛第二场题解——Java
java·算法·蓝桥杯