如何根据GPA对数组列表进行升序排序? arraylist 包含一个对象数组。 (Java)[重复]
Posted
技术标签:
【中文标题】如何根据GPA对数组列表进行升序排序? arraylist 包含一个对象数组。 (Java)[重复]【英文标题】:How ro sort the array list in ascending order based on GPA? The arraylist is holding an array of objects. (Java) [duplicate] 【发布时间】:2019-08-20 23:17:01 【问题描述】:我正在尝试根据 GPA 升序对这个数组列表进行排序。 Student 类封装了 3 条信息:学号、姓氏、平均绩点。
所以我需要使用gradePointAverage 对它们进行排序。
//student array
studentArray[0] = student;
studentArray[1] = new Student(9093891, "Brown", 2.55);
studentArray[2] = new Student(9301879, "Carson", 1.11);
studentArray[3] = new Student(3910880, "Deardon", 4.01);
studentArray[4] = new Student(8891783, "Ellis", 2.66);
studentArray[5] = new Student(3899132, "Fisher", 0.55);
//filling my studentlist
studentList.add(student);
studentList.add(studentArray[0]);
studentList.add(studentArray[1]);
studentList.add(studentArray[2]);
studentList.add(studentArray[3]);
studentList.add(studentArray[4]);
ArrayList<String> sortedArrayListDescending = studentList.sortDescending();
【问题讨论】:
我知道它说 studentList.sortDescending() 但即使这样也不起作用。那是在胡闹。我收到“错误:找不到符号” "我得到一个"错误:找不到符号"" 那是因为 List 中没有sortDescending
和 sortAscending
方法,有 sort
方法它采用Comparator
,它表示用于检查两个比较对象之间的机制是否相等,大于或小于第二个。
【参考方案1】:
使用Collections.sort()
升序
Collections.sort(studentList,Comparator.comparingDouble(Student::getGradePointsAverage));
降序
Collections.sort(list,Comparator.comparingDouble(Student::getGradePointsAverage).reversed());
【讨论】:
以上是关于如何根据GPA对数组列表进行升序排序? arraylist 包含一个对象数组。 (Java)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
二维,多维数组排序array_multisort()函数的使用
如何根据信号强度按升序对 getScanResults() 列表进行排序?
如何按数组计数对嵌套 NSArray 的 NSArray 进行排序?
如何根据 array[0] 元素对数组的 ArrayList 进行排序,该元素是以 dd/mm/yyyy 格式给出的日期?