java - 跟踪字符串对

标签 java dictionary

我当前的项目要求我在各种用例中使用字符串对。我目前正在使用 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/

相关文章:

ios - 点击并按住以添加 pin google maps api ios

Java Map get 方法返回 null

java - TimeZone 困扰着我的日期时间解析

java - 当我只指定一个 xml 文件时,为什么 Spring Boot 会加载所有 xml 文件?

java for循环运行list只执行一次

C# 合并 2 个字典并在它们之间添加值

java - 将列表转换为字符串以在 JSP 中填充网页

带有 fork 的 Java 并行进程

python - 将字典附加到列表 - 我看到类似行为的指针

python - 三层嵌套字典的存在性检验