JAVA中关于对象数组是否可以实现Comparable接口和排序问题
来源:互联网 发布:gsm网络的sim卡是什么 编辑:程序博客网 时间:2024/06/05 01:48
1.学完一位以及二维数组之后,大家都会把数组的数据类型局限于八大基本类型之中,但是请大家别忘了还有引用数据类型这个东东,也就是对象数组。
2.然后关于对象组数的排序问题也就会产生,他不像我们之前的基本类型数组一样,直接for 循环迭代,或者Arrays.sort()直接输出。
3.然而此刻我们就会想到集合中的comparable接口和comparator 比较器,那么关于数组也是否可以用此来排序呢?
4.直接上代码:-----------------------------------------------------------------------------------------
//首先建立一个学生类,用来实现comparable接口,下面重写 toString 方法以及CompareTo;
public class Student implements Comparable<Object> {
private String name;
private String gender;
private int scores;
public Student() {
}
public Student(String name, String gender, int scores) {
super();
this.name = name;
this.gender = gender;
this.scores = scores;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getScores() {
return scores;
}
public void setScores(int scores) {
this.scores = scores;
}
public String toString() {
return name+"\t"+gender+"\t"+scores;
}
@Override
public int compareTo(Object o) {
Student s = (Student) o; //类型强制转换
if(this.scores>s.scores)return 1;
else return -1;
}
}
//到这一步大家就可以清楚地知道我们用comparable接口来比较学生的成绩来进行排序。
//接下来第二段代码--------------------------------------------------------------------------------------------
public class ObjectArray {
public static void main(String[] args) {
Student s1=new Student("张三","男",81);
Student s2=new Student("张四","女",91);
Student s3=new Student("张五","男",100);
Student s4=new Student("张其","男",92);
Student s5=new Student("李武","女",78);
//将值传到数组中
Student s[]=new Student[]{s1,s2,s3,s4,s5};
System.out.println("------------------打印输出-------------------------------");
for (int i = 0; i < s.length; i++) {
Student student=s[i];
System.out.println(student);
}
System.out.println("-----------------------开始排序----------------------------");
Arrays.sort(s);//直接用Arrays.sort方法排序
for(Student x:s) {
System.out.println(x);
}
}
}
- JAVA中关于对象数组是否可以实现Comparable接口和排序问题
- java 对象数组的排序(实现Comparable接口)和二分查找
- java中的对象数组排序,--Comparable接口
- (java)关于List中对象实现Comparable接口的例子
- Comparable接口实现数组排序
- Comparable接口实现对象排序
- 对象排序,实现comparable接口
- Java comparable接口 对象排序
- Java中实现Comparable接口和Comparator接口的排序算法效率比较
- Java中实现对象的比较:Comparable接口和Comparator接口
- Java中实现对象的比较:Comparable接口和Comparator接口
- Java中实现对象的比较:Comparable接口和Comparator接口
- java比较接口Comparable,对象排序存在TreeSet中
- Java中comparable和comparator接口的排序原理
- java 对ArrayList排序,实现Comparable接口
- java 对ArrayList排序,实现Comparable接口
- Effective Java 对于所有对象都通用的方法 12.考虑实现Comparable(可以比较)接口
- Java中使用Comparable和Comparator实现字段排序功能
- 微信开发第一篇
- opencv3.0 截取任意形状封闭图形
- Linux 下hosts文件
- 算法题/找出数组中出现最多的数
- 从零实现一个高性能网络爬虫(一)网络请求分析及代码实现
- JAVA中关于对象数组是否可以实现Comparable接口和排序问题
- 火墙(一)【netfilter】
- 为ARM Cortex-M系列芯片编写Bootloader
- 分享python3爬虫及数据分析实战视频教程
- 浅谈HTTP协议
- String那些事
- 我OI生涯的全新开始
- 洛谷P1158导弹拦截
- ReentrantReadWriteLock分析