在java中获取链表与数组中的对象
好的,这可能是一个非常初级的问题,但是
现在我有一个名为Person的对象,上面有一个名为setName的方法
我在我的主班,我已经宣布
List People = new LinkedList();
我想做的只是在第一个位置调用对象的setName函数。 我发现,当与一系列人一起工作时,这很容易做到。我只想说
People[0].setName("steve");
但由于它在一个linkedlist中,我遇到了麻烦
我试着用“获取”的方法,就像这样
People.get(0)
但是它不允许我使用用户定义的方法,所以我不能设置名称
从链表中获取对象并访问其方法和实例变量的最佳方法是什么
提前谢谢
# 1 楼答案
您不需要设置存储的对象类型。所以你需要向上投射:
或设置存储对象的类型:
# 2 楼答案
LinkedList只有在您想要快速遍历列表,以及想要快速到达第一个或最后一个元素时才有效。此外,您需要将
people
正确定义为LinkedList
才能访问链表方法,并且您应该键入您的列表,因此:然而,
ArrayList
是一个更好的通用选择,它在通过索引访问元素时提供了良好的性能,因此:然后
# 3 楼答案
如果使用Java 1.4或更早版本,则需要将其转换为People类:
如果使用Java 1.5或更高版本,请使用泛型:
# 4 楼答案
您希望使用泛型将其列为人员列表:
# 5 楼答案
你应该使用泛型:
List<Person>
。然后你就可以使用people.get(0).setName(..)
请注意,Java命名约定要求变量为小写
# 6 楼答案
使用generics: