对中文按照字典顺序排列
2017-02-04 23:00
351 查看
要求:
* •(1)创建学生类,有以下两个属性:姓名name和成绩score,分别是字符串类型和整型。
* •(2)实现Comparator接口,让学生按照以下规则排序:成绩高的学生在前面,成绩相同的学生,姓名拼音按字典顺序排列
* •(3)把学生实例放到List集合中,输出集合中的所有学生
package dms.java.base.collection;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Locale;
/**
* •(1)创建学生类,有以下两个属性:姓名name和成绩score,分别是字符串类型和整型。
* •(2)实现Comparator接口,让学生按照以下规则排序:成绩高的学生在前面,成绩相同的学生,姓名拼音按字典顺序排列
* •(3)把学生实例放到List集合中,输出集合中的所有学生
* @author BrightSt
*
*/
public class StudentComparator {
static ArrayList<Student> studentList = new ArrayList<>();
public static void main(String[] args) {
studentList.add(new Student("赵六", 70));
studentList.add(new Student("王五", 85));
studentList.add(new Student("张三", 99));
studentList.add(new Student("李四", 85));
studentList.add(new Student("孙七", 75));
Collections.sort(studentList);
for(int i=0;i<studentList.size();i++){
System.out.println(studentList.get(i).getName()+" "+studentList.get(i).getScore());
}
}
}
class Student implements Comparable<Student>{
private String name;
private int score;
public Student(String name,int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student o) {
if(this.getScore() != o.getScore()){
return o.getScore()-this.getScore();
}else{
Collator instance = Collator.getInstance(Locale.CHINA);
return instance.compare(this.getName(), o.getName());
}
}
}
要想实现比较功能一定要实现Comparable接口里的compareTo方法,例如这里的比较学生的成绩、姓名,student实现compareTo方法。重点是了解:
* •(1)创建学生类,有以下两个属性:姓名name和成绩score,分别是字符串类型和整型。
* •(2)实现Comparator接口,让学生按照以下规则排序:成绩高的学生在前面,成绩相同的学生,姓名拼音按字典顺序排列
* •(3)把学生实例放到List集合中,输出集合中的所有学生
package dms.java.base.collection;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Locale;
/**
* •(1)创建学生类,有以下两个属性:姓名name和成绩score,分别是字符串类型和整型。
* •(2)实现Comparator接口,让学生按照以下规则排序:成绩高的学生在前面,成绩相同的学生,姓名拼音按字典顺序排列
* •(3)把学生实例放到List集合中,输出集合中的所有学生
* @author BrightSt
*
*/
public class StudentComparator {
static ArrayList<Student> studentList = new ArrayList<>();
public static void main(String[] args) {
studentList.add(new Student("赵六", 70));
studentList.add(new Student("王五", 85));
studentList.add(new Student("张三", 99));
studentList.add(new Student("李四", 85));
studentList.add(new Student("孙七", 75));
Collections.sort(studentList);
for(int i=0;i<studentList.size();i++){
System.out.println(studentList.get(i).getName()+" "+studentList.get(i).getScore());
}
}
}
class Student implements Comparable<Student>{
private String name;
private int score;
public Student(String name,int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student o) {
if(this.getScore() != o.getScore()){
return o.getScore()-this.getScore();
}else{
Collator instance = Collator.getInstance(Locale.CHINA);
return instance.compare(this.getName(), o.getName());
}
}
}
要想实现比较功能一定要实现Comparable接口里的compareTo方法,例如这里的比较学生的成绩、姓名,student实现compareTo方法。重点是了解:
Collator instance = Collator.getInstance(Locale.CHINA);的用法
相关文章推荐
- UVA, 10008 What's Cryptanalysis?(先按次数从大到小排列,后按照字典中的字母顺序)
- mysql查询结果按照中文字典顺序排序
- 使用引用将三个数字按照从小带大的顺序排列
- 产生所有排列---字典顺序-----2013年1月23日
- java中实现HashMap中的按照key的字典顺序排序输出
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- USTC机试—按照字典索引顺序的建立,输出行号和单词
- 从list中随机选出几个数,并按照原来的顺序排列
- 产生所有排列---字典顺序-----2013年1月23日
- Python按照书写顺序输出字典中的元素
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- c语言冒泡实现将一个字符串按照字典顺序输出
- Object.keys()js 把对象按照属性名的字母顺序进行排列
- List快速按照指定顺序排列
- 输入三个数并且按照从小到大的顺序排列
- Object.keys()js 把对象按照属性名的字母顺序进行排列
- java 中文字符串数组按照音序排列
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- python字典按照声明的顺序添加
- 将对象数组按照每一组对象的key值大小进行字典顺序(ASCII值大小)升序排序