我当前的项目要求我在各种用例中使用字符串对。我目前正在使用 Apache Lang3 Pair 元组来处理这种情况。当前的实现如下所示
private List<Pair<String, String>> configParameters;
private List<Pair<String, String>> sensorReadingMeasures;
在与团队其他成员讨论后,我们决定,因为我们需要公开这些字符串对,所以最好找到 native Java 解决方案。
我尝试使用 java util 库中的 AbstractMap 找到解决方案,但我没有太多运气能够实例化它,并且谷歌搜索没有提供太多帮助我的信息。
我尝试通过以下方式重新创建上述内容,
AbstractMap<String, String> pair = new AbstractMap<String, String>();
我将能够使用 keyset() 函数提取所需的信息,并通过 get() 函数为每个键值提取所需的信息。
除了我的实例化问题之外,这似乎是获得相同功能的极其低效的方法,我很好奇是否有更好的选择。如果没有,请有人提供一个有关如何正确实例化 AbstractMap 的示例。最佳答案
如果每对中的两个字符串之一是唯一的,则建议使用 AbstractMap
似乎表明,您可能想要公开一个返回 Map<String,String>
的 API ,并为该接口(interface)使用您选择的实现(例如 LinkedHashMap<String,String>
)。
您类(class)的用户将能够提取String
对来自Map
通过使用Map.Entry<String,String>
,而不是调用 get
对于每个键:
Map<String,String> getAllPairs() {
...
}
...
for (Map.Entry<String,String> pair : myClass.getAllPairs()) {
// You can use pair.getKey() and pair.getValue() here
}
关于java - 跟踪字符串对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17952485/