如何根据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 中没有 sortDescendingsortAscending 方法,有 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()函数的使用

php数组常用函数

如何根据信号强度按升序对 getScanResults() 列表进行排序?

如何按数组计数对嵌套 NSArray 的 NSArray 进行排序?

如何根据 array[0] 元素对数组的 ArrayList 进行排序,该元素是以 dd/mm/yyyy 格式给出的日期?