我对链接列表很新,但是目前我有一个对象的链接列表,并且因为使用链接列表中的一个对象而调用另一个方法而丢失了。
public Store() {
products.add(new Product("Whiteboard Marker", 85, 1.50));
products.add(new Product("Whiteboard Eraser", 45, 5.00));
products.add(new Product("Black Pen", 100, 1.50));
products.add(new Product("Red Pen", 100, 1.50));
products.add(new Product("Blue Pen", 100, 1.50));
}
这些是我在链表中的当前对象。
我有一个名为product的类,其函数为getName。
public String getName() {
return this.name;
}
所以我想知道在调用函数getName时它会如何返回“Black Pen”
谢谢。答案 0 :(得分:3)
如果我理解正确,你有一个产品对象列表,它有一个名字的getter,你想得到产品的名称,而它在Arraylist中。根据这个假设,我创建了一个虚拟person
和ArrayList
并调用产品的getter并打印它。
如果您知道对象在ArrayList
中的位置,那么只需在ArrayList
中提供对象的索引即可轻松打印它。否则,如果您知道此人的某些独特属性,则可以使用if
条件过滤该属性。
我已添加了这两个案例,并将其纳入评论部分。
class Person {
private String name;
private String location;
public Person(String name,String location) {
this.name = name;
this.location = location;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
public class Test {
public static void main(String[] args) {
List<Person> productList = new ArrayList<>();
productList.add(new Person("Amit","india"));
productList.add(new Person("A", "bangalore"));
// case 1 :- when you know the location of person in LL.
System.out.println(productList.get(0).getName());
// case 2:- when you know some unique peroperty of person and filtering on base of this.
for(Person product : productList){
if(product.getLocation().equalsIgnoreCase("india")){
System.out.println("name of person " + product.getName());
}
}
}
}
Output :-
Amit
name of person Amit
答案 1 :(得分:1)
在你的情况下,要获得“黑笔”,你会写:
products.get(2).getName();
答案 2 :(得分:0)
要调用LinkedList
中存储的对象的方法,您必须从列表中获取此对象。获取链表的第一个元素
products.getFirst().getName();
获取链表的第一个元素
products.getLast().getName();
请注意,您只能从第一个或从最后一个开始按顺序从链接列表中获取元素。