JAVA中对象数组的排序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
private String num;//学号 private String name;//姓名 private String sex;//性别 private String college;//学院 private String major;//专业 private String classnum;//班级 private String phnum;//手机号码 private String location;//生源所在地 private String dormnum;//宿舍号 private String polstatus;//政治状态 public String getNum() {
nameStrings[i]=s[i].getNum()+”
”+i;
姓名不是定长,在姓名后面加上一些空格后再加上索引值,取的时候找到最后一个空格所
在的位置,便能取出事先存在这个字符串中的索引值了。
以上就是本人的一些笨办法吧,也许有用,也许没用,看看 就好。
Java 中对象数组的排序
有时候我们需要对一个对象数组进行排序,需要按照这个对象数组中的某一元素排序。 网上有很多方法,看了很多,有的用不了,有的很复杂。下面提供自己的一个排序方法,本 人是菜鸟,大神看到请勿见笑。
我有一个 Student 类,类中包含学生信息,学号、姓名、性别等! 如下: public class Student {
//删除所有原来的值
for (int i = 0; i < s.length; i++) {
delStudentByNum(s[i].getNum());
}
//写入新的值
for (int i = 0; i <list.size(); i++) {
addStudent(list.get(i));
}
因为学号的长度是一个定值,所以可以通过以上办法,在学号的后面加上当前学生信息
numStrings[i]=s[i].getNum()+i; } //对学号进行排序 Arrays.sort(numStrings); for (int i = 0; i < numStrings.length; i++) {
//获取当前顺序中学好的原索引值 index=Integer.parseInt(numStrings[i].substring(11)); list.add(s[index]); }
所在的索引,然后对学号进行排序的时候后面加入的索引值不会影响到排序。最后再按照排
序后的顺序根据学号中的索引依次取出 Student 数组中相应索引的 Student 元素。
这种方法很简明,但最好是在对象数组中有长度是定值的元素。不过即使没有定长的数
据,我想也可以通过加入一些特别的符号来标记索引所在的位置。例如:
return num;ຫໍສະໝຸດ Baidu}
} 我想对一个 Student 类型的数组按照学生学号排序。我使用如下的处理方法:
int index;//用来存储下标 ArrayList<Student> list=new ArrayList(); Student[] s; try {
//取出所有对象的值 s=findAll();//(这里我是从文件中读取信息,返回值是一个Student的数组) //得到所有对象中学号的值 String[] numStrings=new String[s.length]; //把学号加上当前的索引 for (int i = 0; i < s.length; i++) {
相关文档
最新文档