java - 按位置或索引从 Android 中的 HashMap 获取键

标签 java android hashmap

我有:

public static HashMap<String, String> CHILD_NAME_DOB = new HashMap<>();

假设 CHILD_NAME_DOB 中的值为:

<adam,15121990>
<roy,01051995>
<neha,05091992>
<alisha,11051992>

我正在尝试从 CHILD_NAME_DOB 中获取最后一个关键元素。也就是说,我想从上面的示例中获取 key alisha 到临时 String name

另外我想知道如何通过索引获取数据。

例如:如果 int index = 2 ,我想要 String name 中的键 "Neha"

TIA。

编辑:DateOfBirth 值(CHILD_NAME_DOB 中的值数据)是动态的且未知。所以THIS LINK这不是我想要的。

最佳答案

单行方案:

首先请注意,Java HashMap 不保证条目的顺序。因此,每次迭代 HashMap 时,条目都会出现在不同的位置。您将需要 LinkedHashMap 来保证可预测的迭代顺序。

Map<String, String> CHILD_NAME_DOB = new LinkedHashMap<>();

通过索引获取key:

key = (new ArrayList<>(CHILD_NAME_DOB.keySet())).get(index)

通过索引获取值:

CHILD_NAME_DOB.get(key)

关于java - 按位置或索引从 Android 中的 HashMap 获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28981797/

相关文章:

java - Glassfish 中的 lib 文件夹中的文件夹有什么用,应该如何使用它们?

java - 实现 SerialPortEventListener - java

java - 如何使用 Rxjava 预填充 Android 房间数据库

android - 正则表达式在匹配后提取 5 个单词

java - 返回嵌套的 HashMap

java - 如何将Excel中的值分组到HashMap

java - Spring Security 3.1.1 - 自定义登录成功问题

java - HashTable 类的包含问题

java - 将枚举写入 Parcel 导致 RuntimeException

java - 如何使用HashMap在恒定时间内从Java的LinkedList中获取元素