0

我对 Java 编程比较陌生,我目前正在尝试在 Java 中实现链接列表。我有一个班级叫学生。其中有以下成员 - Name、MarksObtained。现在,我想将各种学生对象一一添加到链表中。

My_query1:再次,在遍历列表时,我只想打印成员 - MarksObtained。

my_query2:迭代器接口方法,itr.next() 返回_ __ _ __ _ __ _ ?

My_query3:如果我迭代地创建同名学生的对象并同时将其添加到链表中,是否有效?

public static void main(String []args){
    LinkedList al = new LinkedList();   
    for(int i=0; i<100; i++){
           student s = new student();
           s.MarksObtained = i;
           s.Name = "blah";
           al.add(s);
    }
}

谢谢。

4

3 回答 3

1

My_query1:再次,在遍历列表时,我只想打印成员 - MarksObtained。

您可以使用以下代码遍历列表,该代码利用了列表的可枚举特性。

for (student item : al) {
    System.out.println(item.MarkObtained)
}

my_query2:迭代器接口方法,itr.next() 返回_ ___ ?

itr.next() 根据您将它们添加到列表的方式(或排序后的排序顺序)返回列表的下一项。以下代码是遍历列表的另一种方式

Iterator<student> itr = al.listIterator(0);
while (itr.hasNext()) {
    student item = itr.next();
    System.out.println(item.MarkObtained);
}

My_query3:如果我迭代地创建同名学生的对象并同时将其添加到链表中,是否有效?

是的,这是有效的,只要您每次都“新”。如果您不新建它们但更改了它们的成员值,则已添加到列表中的所有项目也将更改值,因为它们的对象引用相同(因此您最终将成为列表中的所有项目)相同)。

于 2012-07-02T13:17:31.207 回答
0

是的,在列表中您可以添加重复项。

List<Student> al  =new LinkedList<Student>();

    for(int i=0; i<100; i++){
            Student s = new Student();
            s.marks=i;
            s.name="ABC";
    }

    Iterator<Student> it=al.iterator();
    while (it.hasNext()) {

        Student st=it.next();
        System.out.println(st.name+" , "+st.marks);

    }

你的答案

My_query1: Again, while traversing the list i want to print only the member - MarksObtained. 

是的,您可以像上面那样使用迭代器。

My_query2: The iterator interface method, itr.next() returns __________ ?

它返回下一个对象Iterator

My_query3: If i create objects of the class student with the same name iteratively and simultaneously add it to the linked list, is it valid?

是的,它是有效的。

于 2012-07-02T13:21:15.190 回答
0

My_query1:再次,同时遍历列表

我只想打印成员 - MarksObtained。

for(int i=0; i<100; i++){
           student s = new student();
           s.MarksObtained = i;
           s.Name = "blah";
           al.add(s);
           System.out.println(s.MarksObtained)

}

my_query2:迭代器接口方法,itr.next() 返回_ ___ ?

在迭代时它返回迭代下的下一个对象

如果我迭代地创建具有相同名称的班级学生的对象并同时将其添加到链表中,它是否有效?

是的,它是有效的

于 2012-07-02T13:13:01.260 回答