Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在驱动程序类中调用链表类方法_Java_Class_Object_Methods_Linked List - Fatal编程技术网

Java 在驱动程序类中调用链表类方法

Java 在驱动程序类中调用链表类方法,java,class,object,methods,linked-list,Java,Class,Object,Methods,Linked List,我有一个名为MyCollege(驱动程序)的类和一个名为LinkedList的类。我在LinkedList中创建了这些方法,但我不确定如何调用它们。我希望能够按照排序顺序或输入顺序将对象输入到链表中,具体取决于用户选择的内容。默认情况下列表实现以插入顺序维护元素。对于你想要插入订单的地方,你很好。但是,如果需要不同的顺序,则必须使用不同的集合(例如TreeSet),或者在添加元素后对列表进行排序 如果元素具有可比性,并且您希望基于此对其进行排序,则可以使用树集(如果没有任何重复项)或使用。如果您

我有一个名为MyCollege(驱动程序)的类和一个名为LinkedList的类。我在LinkedList中创建了这些方法,但我不确定如何调用它们。我希望能够按照排序顺序或输入顺序将对象输入到链表中,具体取决于用户选择的内容。

默认情况下
列表
实现以插入顺序维护元素。对于你想要插入订单的地方,你很好。但是,如果需要不同的顺序,则必须使用不同的集合(例如
TreeSet
),或者在添加元素后对
列表进行排序


如果元素具有可比性
,并且您希望基于此对其进行排序,则可以使用
树集
(如果没有任何重复项)或使用。如果您需要一个不同的订单,您将需要实现一个新的订单。然后,您可以将其传递给
TreeSet
构造函数或
集合。排序

使用新的
int
变量存储用户的订单首选项:

int order;
现在将
for
循环更改为:

    for(int i = 0; i < 10; i++)
    {
    //ask to input details
    System.out.println("-------------------------------------------------");
    System.out.println("Please input the information below:");
    System.out.println("-------------------------------------------------");
    System.out.println("Please input the student's name : ");
    name = scan.nextLine();
    System.out.println("Please input the student's number : ");
    number = scan.nextLine();
    System.out.println("Please input the student's course code : ");
    courseCode = scan.nextLine();
    System.out.println("Please input the student's course entry year : ");
    entryYear = scan.nextInt();
    scan.nextLine();

    System.out.println("Please input the order you want to put Student in the List
    [1 for Sorted and any other number to add at the end of this list ] : ");
    order = scan.nextInt();

    s1 = new Student(name, number, courseCode, entryYear); //create new student

    if(order == 1){
    list.sorted(s1);
    } else {
    list.add(s1); //add s1 to list
    }
}
现在,您可以使用此比较器对列表进行排序:

Collections.sort(list, STU_COMP); 

您已经正确添加了它们:s1=新学生(姓名、编号、课程代码、入学年份)//创建新的学生列表。添加(s1)//将s1添加到list@JunedAhsan我希望能够让用户决定以何种方式添加它们。这种方式只按输入顺序添加对象。这种方式会对对象进行什么排序?如果可能的话,我想能够按照学生编号对它们进行排序?谢谢你的帮助!还有一件事,我应该把收藏放在哪里;因为我有点搞不清楚这是怎么回事。我认为您可以从
sorted
方法中删除代码,然后从内部调用
add(element)
。它将把
元素添加到列表的末尾。然后你可以把
Collections.sort(list,STU_COMP)
作为排序列表的
方法中的下一条语句。
Collections.sort(list, STU_COMP);