如果您想使用键值对.不错的选择是使用Map而不是collection.
那么地图商店该怎么办?
它至关重要.首先要确保的是,您的密钥是唯一的,以避免冲突.
class Person {
long uniqueID;
String name;
String lastname;
}
Run Code Online (Sandbox Code Playgroud)
所以我们将使用Person的uniqueID作为密钥.
价值怎么样?
在这种情况下更难.由于单个人可以有很多电话号码.但是对于简单的任务,以免人们只能拥有一个电话号码.然后你看起来是什么
class PhoneNumberRegistry {
Map<Long,String> phoneRegistry = new HashMap<>();
}
Run Code Online (Sandbox Code Playgroud)
长期取自人.处理Maps时,应该实现hashCode和equals方法.
然后你的注册表看起来像
class PhoneNumberRegistry {
Map<Person,String> phoneRegistry = new HashMap<>();
}
Run Code Online (Sandbox Code Playgroud)
如果您想为人员存储多个号码,则需要更改地图中的值类型.
您可以使用Set<String>存储多个不会重复的数字.但要完全控制你应该引入新类型,不仅存储数字,而且还有该数字的王.
class PhoneNumberRegistry {
Map<Person,HashSet<String>> phoneRegistry = new HashMap<>();
}
Run Code Online (Sandbox Code Playgroud)
但是你必须解决各种问题,例如,我应该返回什么电话号码?
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |