自定义集合排序与随机生成制定范围随机整数(笔记)

话不多说,直接上代码。。。

先建实体类Student

package test;

public class Student {

	private String No; // 学号
	private String Name; // 姓名
	private int Score; // 成绩

	public String getNo() {
		return No;
	}

	public void setNo(String no) {
		No = no;
	}

	public String getName() {
		return Name;
	}

	public void setName(String name) {
		Name = name;
	}

	public int getScore() {
		return Score;
	}

	public void setScore(int score) {
		Score = score;
	}

	public Student(String no, String name, int score) {
		super();
		No = no;
		Name = name;
		Score = score;
	}
}

主类

package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;

public class Demo2 {

	public static void main(String[] args) {
		String clas = "1702";
		Random random = new Random();
		List<Student> studentList = new ArrayList<Student>();
		for (int i = 1; i <= 30; i++) {
			// 生成60-100随机数/生成指定范围随机数min到max格式:random.nextInt(max-min+1)+min;
			int sci = random.nextInt(100 - 60 + 1) + 60; 

			if (i < 10) {
				studentList.add(new Student(clas + "0" + i, "姓名" + i, sci));
			} else {
				studentList.add(new Student(clas + i, "姓名" + i, sci));
			}			
		}
		
		studentList=sortList(studentList);

		for (int i = 0; i < studentList.size(); i++) {
			Student student = studentList.get(i);
			System.out.println("学号:" + student.getNo() + ", 姓名:" + student.getName() + ", 成绩:" + student.getScore());
		}
	}
	
	/**
	 * list集合排序
	 * 根据成绩降序
	 * @param list
	 * @return
	 */
	public static List<Student> sortList(List<Student> list) {
		
		Collections.sort(list, new Comparator<Student>() {

			@Override
			public int compare(Student s1, Student s2) {
				// TODO > 升序 | < 降序
				if (s1.getScore() < s2.getScore()) {
					return 1;
				}
				if (s1.getScore() ==  s2.getScore()) {
					return 0;
				}
				return -1;
			}			
		});
		return list;		
	}

}

更多推荐
MybatisHelperPro <<<<自己开发的一个Mybatis反编译插件,能快速生成代码,有兴趣可以看看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值