【发布时间】:2018-10-08 20:09:34
【问题描述】:
我正在尝试编写一个程序,该程序将一个人的信息存储在一个链表中。我制作了一个简单的 person 类来存储列表中的姓名、年龄和地址。我还想为每个人存储多个地址,并在另一个链表中存储有关该地点的事实,在 person 类中。
例如,“Tara”可以有“10 Central Ave”的家庭地址和“5 Willow Street”的工作地址等。问题是,我不知道如何在另一个里面有一个链表.
我的目标是检查此人的姓名是否已经在列表中,如果是,则为他们添加另一个地址。 (这样就没有重复了)。我是初学者,真的需要一些帮助。
public class Person {
private String name;
private int age;
public LinkedList <String> adresses;
public Person() {
name = "default";
age = 0;
adresses = new LinkedList<>();
}
public Person(String n, int a) {
name = n;
age = a;
}
public LinkedList<Adress> getAdresses() {
return adresses;
}
public void setAdresses(LinkedList<Adress> adresses) {
this.adresses = adresses;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return name+" "+age+" "+adresses;
}
}
public class Adress {
public String adress;
public String fact;
public Adress(String a, String f) {
adress = a;
fact = f;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
public String getFact() {
return fact;
}
public void setFact(String fact) {
this.fact = fact;
}
}
public class Test {
public static void main(String[] args) {
Person Tara = new Person("Tara",35);
Person Judah = new Person("Judah",28);
Person Mark = new Person("Mark",45);
Person Seth = new Person("Seth",23);
LinkedList<Object> tester = new LinkedList<>();
tester.add(Tara);
tester.add(Judah);
tester.addLast(Mark);
tester.addLast(Seth);
System.out.println(tester);
}
}
【问题讨论】:
-
这里只是一个健全的检查,如果你有一个
Address类,为什么你是LinkedList<String> adresses为什么不是LinkedList<Address> adresses? -
@xtratic 已修复,谢谢
-
为了避免你问另一个问题,你还需要亲自覆盖 equals 和 address 来做你想做的事情。下面的答案会很好用。
标签: java class oop linked-list