Dan*_*alo 11 java android hashmap
我有:
public static HashMap<String, String> CHILD_NAME_DOB = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
假设值为CHILD_NAME_DOB:
<adam,15121990>
<roy,01051995>
<neha,05091992>
<alisha,11051992>
Run Code Online (Sandbox Code Playgroud)
我试图从中获取最后一个关键元素CHILD_NAME_DOB.也就是说,我想alisha从上面的例子中获取密钥到临时String name.
另外我想知道如何通过索引获取数据.
例如:如果int index = 2,我想关键"Neha"在String name
TIA.
编辑:DateOfBirth值(值数据输入CHILD_NAME_DOB)是动态的,未知.所以这个链接不是我想要的.
单线解决方案:
首先请注意,JavaHashMap不保证条目的顺序。因此,每次迭代 HashMap 时,条目都会出现在不同的位置。您将需要LinkedHashMap保证可预测的迭代顺序。
Map<String, String> CHILD_NAME_DOB = new LinkedHashMap<>();
Run Code Online (Sandbox Code Playgroud)
通过索引获取key:
key = (new ArrayList<>(CHILD_NAME_DOB.keySet())).get(index)
Run Code Online (Sandbox Code Playgroud)
通过索引获取值:
CHILD_NAME_DOB.get(key)
Run Code Online (Sandbox Code Playgroud)
感谢@Pentium10 的回答。 我根据自己的需要稍微修改了一下。
String key="default";
Iterator myVeryOwnIterator = CHILD_NAME_DOB.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
key=(String)myVeryOwnIterator.next();
//String value=(String)meMap.get(key);
}
Toast.makeText(viewEnterChildExp.getContext(), "Key: "+key , Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
我由此得到了最后一个关键要素。
一旦我找到一种按索引键的简单方法,我就会立即更新。
| 归档时间: |
|
| 查看次数: |
12353 次 |
| 最近记录: |