如何在LinkedHashMap中的特定索引/位置添加元素?
2022-08-31 16:26:27
我有一个有序的LinkedHashMap,我想在特定索引处添加元素,比如在地图的第一个地方或最后一个地方。如何在LinkedHashMap中特定位置添加元素?
即使我可以在LinkedHashMap中的FIRST或LAST位置添加一个元素也会有所帮助!
我有一个有序的LinkedHashMap,我想在特定索引处添加元素,比如在地图的第一个地方或最后一个地方。如何在LinkedHashMap中特定位置添加元素?
即使我可以在LinkedHashMap中的FIRST或LAST位置添加一个元素也会有所帮助!
您可以将此元素添加到 1。或最后一个位置:
添加到最后一个位置 ►您只需要从地图中删除以前的条目,如下所示:
map.remove(key);
map.put(key,value);
添加到第一位 ►这有点复杂,你需要克隆地图,清除它,把1。值,然后将新地图放到它上面,如下所示:
我正在使用具有字符串键和组(我的自定义类)值的映射:
LinkedHashMap<String, Group> newMap=(LinkedHashMap<String, Group>) map.clone();
map.clear();
map.put(key, value);
map.putAll(newMap);
如您所见,使用这些方法,您可以在地图的开头和结尾添加无限量的内容。
您无法更改顺序。它是(默认情况下)或与此构造函数:insert-order
access-order
public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
构造一个具有指定初始容量、负载因子和排序模式的空 LinkedHashMap 实例。
参数:初始容量 - 初始容量负载因子因子访问顺序 - 排序模式 - 访问顺序为 true,插入顺序为 false
抛出:非法参数异常 - 如果初始容量为负或负载因子为非正数