我创建了一个存储两个元素的链表。有人能告诉我如何访问第二个元素。在这种情况下,lastName
这是我到目前为止所提出的。
public class Bank
{
private LinkedList<List> words = new LinkedList<List>();
public void startup()
{
words.add(new List("Fred","Cool"));
}
这是我的列表类
public class List
{
public List(String name, String lastName)
{
this.name = name;
this.lastName = lastName;
}
答案 0 :(得分:3)
您的代码中存在许多问题:
我建议您将List
课程重命名为Person
,因为该类型的对象显然不代表列表。
name
和lastName
不会是列表的元素。它们是List
(阅读Person
)类的构造函数的参数。
您的List
中没有字段,因此您无法执行
this.name = name;
this.lastName = lastName;
要访问words
列表中的第二个元素,请执行
words.get(1); // access second element (indecies are 0-based)
但是,由于您只添加了一个元素,因此无法使用上述表达式。
这是一个让您走上正确轨道的完整示例:
import java.util.LinkedList;
class Bank {
private LinkedList<Person> persons = new LinkedList<Person>();
public void startup() {
persons.add(new Person("Fred", "Cool"));
}
public LinkedList<Person> getPersonList() {
return persons;
}
}
class Person {
String name, lastName;
public Person(String name, String lastName) {
this.name = name;
this.lastName = lastName;
}
}
class Test {
public static void main(String[] args) {
Bank bank = new Bank();
bank.startup();
String lastNameOfFirstPerson = bank.getPersonList().get(0).lastName;
System.out.println(lastNameOfFirstPerson); // prints "Cool"
}
}
答案 1 :(得分:0)
words.get(index).lastName;
这假设该字段是可访问的。
答案 2 :(得分:0)
按索引访问链表元素效率非常低。尝试使用ListIterator<E> LinkedList#listIterator()