蓝桥杯-排序

数组排序

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 小时前
iOS 动态分析、抓包与 Frida Hook
ios·职场和发展·蓝桥杯
wljy13 天前
牛客每日一题(2026.4.30) 整数域二分
c语言·c++·算法·蓝桥杯·二分
Advancer-4 天前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
WL_Aurora4 天前
备战蓝桥杯国赛【day3】
python·蓝桥杯
wljy14 天前
每日一题(2026.4.29) 猫猫与数学
c语言·c++·算法·蓝桥杯·stl·牛客
待bong5 天前
蓝桥杯EDA客观题(自己收集的)
职场和发展·蓝桥杯
沉默-_-5 天前
备战蓝桥杯-哈希
c++·学习·算法·蓝桥杯·哈希算法
Reese_Cool5 天前
【STL】蓝桥杯/天梯赛终极杀器!10个C++字符串核心技巧,暴力破解高频考点
开发语言·c++·蓝桥杯·stl
小年糕是糕手5 天前
【C/C++刷题集】栈、stack、队列、queue核心精讲
c语言·开发语言·数据结构·数据库·c++·算法·蓝桥杯
小年糕是糕手5 天前
【C/C++刷题集】顺序表、vector、链表、list核心精讲
c语言·开发语言·数据结构·c++·算法·leetcode·蓝桥杯