0

可以说我有以下课程:

Main->Worlds->Country->Cities->Streets->People->Person

并且可以说每个班级都有自己的ArrayList. 如果我只能World上课,要按他的名字找一个人,我应该从头到尾走吗?

getWorlds()->getCountries()->getCities()->getStreets()->getPeople()->getPersonByName('dani')

就像循环它一样,搜索所有instances. 或者,ArrayList<Person>在我的班级中创建类似的内容并在 this和's 的班级实例Main中都有人员可能是一个很好的做法。我希望我的问题足够清楚。如果不清楚,请评论我。需要明确的是,问题不是通过他的名字找到一个人,它可以是姓氏、身份证或其他任何东西。ArrayList<Person>People

4

2 回答 2

1

你可以让它完全像一个数据库......通过将它映射到其他东西。

例如..

person array

       world
       city
       street
      country

world array
      countries

country array 
      cities

city array 
       streets

street array
      people

您可以只拥有一个包含所有人员的主阵列。

其他一切都会有彼此的子集。

于 2013-08-27T23:17:12.927 回答
0

在您的主类(或更好的某种存储库类)中创建一个哈希图,它将按所有人的姓名映射所有人(在创建“街道”对象时向其中添加项目,如果适用)。通过这种方式,您可以在系统的所有部分中快速获取一个人的姓名。

于 2013-08-27T23:08:00.590 回答