【问题标题】:Generic linked list inside of linked list?链表内的通用链表?
【发布时间】: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&lt;String&gt; adresses 为什么不是LinkedList&lt;Address&gt; adresses
  • @xtratic 已修复,谢谢
  • 为了避免你问另一个问题,你还需要亲自覆盖 equals 和 address 来做你想做的事情。下面的答案会很好用。

标签: java class oop linked-list


【解决方案1】:

将如何为您的项目使用下一个经典数据结构?

  public class Person {
    private String name
    private int age;
    public List<Address> addresses;
    //...
  }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多