如果我有一个Map用Java 实现接口的对象,并希望迭代其中包含的每一对,那么通过地图的最有效方法是什么?
元素的排序是否取决于我对界面的具体映射实现?
我在做:
for (Object key : map.keySet())
if (something)
map.remove(key);
Run Code Online (Sandbox Code Playgroud)
它引发了一个ConcurrentModificationException,所以我将其更改为:
for (Object key : new ArrayList<Object>(map.keySet()))
if (something)
map.remove(key);
Run Code Online (Sandbox Code Playgroud)
这个,以及修改地图的任何其他过程都在同步块中.
有更好的解决方案吗?
如果没有人想出一个更好的解决方案,首先要说没有得到勾号;)
我想将一个键值对添加到哈希表(或任何其他集合)中,但必须维护插入顺序.我怎样才能做到这一点?
就像我将1添加为键"一"作为值,2作为键和"两"作为值.
输出应该是:
1:one
2:two
Run Code Online (Sandbox Code Playgroud) 我有:
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)是动态的,未知.所以这个链接不是我想要的.
我是一名即将毕业的计算机科学专业的学生,在我的编码生涯中,我发现很少有例子,除了表示标准牌组的面部等规范案例外,都使用了枚举.
你知道在日常编码中使用枚举的任何巧妙方法吗?
为什么枚举如此重要,在什么情况下应该能够确定构建枚举是最好的方法?
java ×5
collections ×2
dictionary ×2
android ×1
enumeration ×1
enums ×1
hashmap ×1
iteration ×1