如何更改散列图内的链接列表?

时间:2015-11-17 01:40:08

标签: java hashmap adjacency-list

你可以告诉我如何在我的地图中找到我的列表以改变它吗?

例如,

Map<Integer, LinkedList<Integer>>() list= new HashMap<Integer, LinkedList<Integer>)();

如何将特定值添加到链表?我正在尝试从2d数组映射创建一个图,所以我想迭代遍历每个整数点,我想将邻居添加到链表中。

Maps<Integer(THIS IS THE SPOT, OR THE NODE), LinkedList<Integer>>(THIS IS THE NEIGHBORS OF THE SPOT/NODE).

有什么想法吗?我知道有类似

的东西
 list.get(list.values)

我认为它可以工作,但我必须得到值,调整它,然后创建一个新的链接列表,所以有很多额外的不必要步骤,寻找一种更简单的方法。

如果我的地图看起来像这样

         1 -> 2 -> 4 -> 5
         2 -> 3 -> 7 -> 5
         3 -> 0 -> 2 -> 1

我将如何定位密钥2中的第二个节点,即7?

提前谢谢你,

1 个答案:

答案 0 :(得分:1)

我怀疑你的语法陷入困境。您的Map使用Integer作为其密钥,LinkedList作为其值。所以让我们创建这样一个列表,然后将其放入地图中。

List<Integer> intList = new LinkedList<Integer>();
intList.add(1);
intList.add(2);

Map<Integer, LinkedList<Integer>>() listMap = new HashMap<Integer, LinkedList<Integer>)();
listMap.put(1, intList);

要访问我们放入地图的列表,您可以将get()方法与一起用于所需的条目(密钥为1示例):

List<Integer> someList = listMap.get(1);