ArrayList<Course> courses = new ArrayList<>();Course类内部有一个String属性的中文名字,请你写一个中文排序java实现
时间: 2024-03-16 20:43:44 浏览: 35
好的,下面是一个简单的中文排序的 Java 实现,它可以对 `ArrayList<Course>` 中的 `Course` 对象按照中文名字进行排序:
```
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Locale;
public class ChineseSort {
public static void main(String[] args) {
// 创建一个 Course 列表,并添加一些元素
ArrayList<Course> courses = new ArrayList<>();
courses.add(new Course("数学"));
courses.add(new Course("英语"));
courses.add(new Course("物理"));
courses.add(new Course("历史"));
courses.add(new Course("化学"));
// 创建一个中文排序比较器
Comparator<Course> chineseComparator = new Comparator<Course>() {
@Override
public int compare(Course c1, Course c2) {
Collator collator = Collator.getInstance(Locale.CHINA);
return collator.compare(c1.getName(), c2.getName());
}
};
// 使用中文排序比较器对 Course 列表进行排序
Collections.sort(courses, chineseComparator);
// 输出排序后的结果
for (Course course : courses) {
System.out.println(course.getName());
}
}
}
class Course {
private String name;
public Course(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
在这个实现中,我们首先创建了一个 `Comparator<Course>` 对象 `chineseComparator`,它使用 `Collator` 类来进行中文排序。`Collator` 是 Java 中用来进行字符串排序的类,它可以根据指定的语言环境进行排序。在这个例子中,我们使用了 `Locale.CHINA` 作为语言环境,这样就可以对中文字符串进行排序。
然后,我们使用 `Collections.sort()` 方法对 `ArrayList<Course>` 进行排序,传入的第二个参数是我们刚刚创建的 `chineseComparator` 对象。
最后,我们遍历排序后的 `Course` 列表,并输出每个课程的名字。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)