首先用Arraylist<object>创建一个studentList,里面加入数个student对象,每个studetn都包含名字成绩专业等等,要求用Comparable按照先按名字再按成绩排序。
我已经对student类 implements Comparable<Object>,也在student类里写了compareTo方法,但是用Collections.sort(studentList)时eclipse总是提示The method sort(List<T>) in the type Collections is not applicable for the arguments(StudentList).
请问
1. 如何才能正确用Comparable排序?
2. Collections.sort()里的这个(List<T> list)的<T>是什么意思? ArrayList难道不是List接口里的吗?
java编程中对list集合进行排序的问题?
首先,定义学生类并实现Comparable接口。学生类应能比较大小,通常基于计算机考试成绩和笔试成绩。方法实现逻辑:如果计算机考试成绩相同,则以笔试成绩确定顺序。学生类代码示例:java public class Student implements Comparable { private int computerBasedScore;private int paperBasedScore;\/\/ 构造函数、getter...
java 两个arraylist放着相同的东西,但顺序不同,怎么判断两个是否相等...
相等条件:相互包含,且长度相等,和相等 boolean result = list1.containsAll(list2) && list2.containsAll(list1) && list1.size() == list2.size() && list1.stream().mapToInt(x -> x).sum() ==list2.stream().mapToInt(x -> x).sum();...
java arraylist 按照对象的属性排序
List中的元素是对象的话,若要按该List中元素的某个属性进行排序,那么应该重写里面元素的hashCode和equals方法,然后再排序。比如该问题要重写course的hashCode和equals方法
java Comparable接口
-1和1排序是相反的,哪个是从大到小,哪个是从小到大不是很清楚 用这种好点List list=new ArrayList()来自知道:我百度的 第一种定义,是很好的面向接口编程的习惯。比如你有这么一个方法供别人调用:public List getXXXList(){ List list = new ArrayList();...return list;} 现在是new ArrayL...
java如何对ArrayList中对象按照该对象某属性排序
有几个方法可以实现:让 Student 实现Comparable接口,或是实例化一个比较器,现在用 Comparator 比较器实例来做一个:ComparableTest.java import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class ComparableTest { public static void main(String[] args) { Co...
java中用到ArrayList.sort()为什么会出现“使用了未经检查或不安全的...
存在类型匹配隐患,在个人用一般没问题,自己能确认类型无误,在main()上面加@SuppressWarnings("unchecked")就行 要是给别人用或者教常用和可能以后需要扩展,还是改了好。1,.Student类的定义改为class Student implements Comparable<Student> 2.类中的方法改为 public int compareTo(Student s) { ret...
用Java中ArrayList类实现一个冒泡排序
java.util.Collections类中有 sort public static <T extends Comparable<? super T>> void sort(List<T> list)根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此外,列表中的所有元素都必须是可相互比较的(也就是说,对于列表中的任何 e1 和 e2 元素,...
java list排序出错
并没有出错.你使用了Collections.sort对List进行了自然排序,也就是升序排序.由于比较的对象是String,所以应该按字符的Unicode值进行排序.比如说"abd","ace","bdr"要进行sort排序的话,比较字符的Unicode值. 应该是这样的"abd","ace","bdr". (和原顺序一样)因为a在字典查询顺序中排在最前面,其次是...
Java中的ArrayList怎么进行冒泡排序
java中的ArrayList进行冒泡排序,主要是循环遍历取出数据,然后进行比较排序,如下代码:package com.qiu.lin.he;import java.util.ArrayList;public class Ceshi {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(76);list.add(4);list.add(...
java中用Comparator接口实现的类,运行时出现问题
TreeSet是JDK实现好了的排序的集合类,他默认按照ASCII来排序,你的Student要想放在TrseSet里面就要实现comparable接口,来制定你的Student类来按什么逻辑排序,不然的话TreeSet怎么知道你是按什么逻辑排序的呢。他默认按ASCII排序,但是你的Student类没有实现排序逻辑,TreeSet当然不知道怎么给你排序了。