ArrayList中的数据如何排序
方法一:直接调用Collections 类的sort()方法,Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。方法三:利用map的转换方法,将ArrayList对象转换成普通数组的形式,再用Arrays.sort().方法二:利用ArrayList的sort()实现,即比较器原理实现(Compartor)例题:
·
例题:随机生成一些数据,存储在ArrayList容器中,找到最大的一个数据输出。
方法一:直接调用Collections 类的sort()方法,Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
/**@Description: 随机生成一些数据,存储在ArrayList容器中,找到最大的一个数据输出。
* @param: 无参
* @return int
* @version v1.0
* @author 李告
* @date 2022/8/24 7:53
*/
private static int randomNum() {
List integers = new ArrayList();
// 定义随机数变量
int num;
// 生成0-8随机数
for (int i = 0; i < 8; i++) {
num = new Random().nextInt(8);
integers.add(num);
}
//调用Collectios的sort()进行排序)
Collectios.sort(integers)
System.out.println(integers);
方法二:利用ArrayList的sort()实现,即比较器原理实现(Compartor<>)
具体代码:
/**@Description: 生成随机数
* @param: 无参
* @return int
* @version v1.0
* @author 李告
* @date 2022/8/24 7:53
*/
private static int randomNum() {
List integers = new ArrayList();
// 定义随机数变量
int num;
// 生成0-8随机数
for (int i = 0; i < 8; i++) {
num = new Random().nextInt(8);
integers.add(num);
}
/*
ArrayList的sort方法(即实现比较器)
*/
integers.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2; //降序
// return o2-o1; //升序
}
});
方法三:利用map的转换方法,将ArrayList对象转换成普通数组的形式,再用Arrays.sort().
具体代码:
/**@Description:
* @param: 无参
* @return int
* @version v1.0
* @author 李告
* @date 2022/8/24 7:53
*/
private static int randomNum() {
List integers = new ArrayList();
// 定义随机数变量
int num;
// 定义int数值供转换排序
int[] num01 ={};
// 生成0-8随机数
for (int i = 0; i < 8; i++) {
num = new Random().nextInt(8);
integers.add(num);
}
System.out.println(integers);
/*
转换方法
*/
//转换成int[]
int[] arr = integers.stream().mapToInt(k-> (int) k).toArray();
Arrays.sort(arr);
更多推荐
已为社区贡献1条内容
所有评论(0)