当前位置: 首页 > 知识库问答 >
问题:

如何使线程构造函数从LinkedHashMap中取值

夏景胜
2023-03-14
1:2,4,6
2:1,3,4,5
.
.
.
{1=2,4,6, 2=1,3,4,5 ...}

更具体地说,LinkedHashMap有K=String,V=String。

从这个映射中,我可以使用映射方法map.keyset()创建一个包含节点的列表,并使用map.values()方法创建一个包含邻居的单独列表。我还可以创建String类型的数组,或者邻居的String[]类型的数组。

每个节点只能与其在LinkedHashMap中定义为值的邻居通信。

Gossip(push)协议:假设一个节点最初拥有信息。被通知的节点将信息发送给随机选择的邻居,从它的邻居集合中抽取(有替换)。初始节点必须通过单独的互连线程发送信息。当邻居接收到来自互连的信息时,它会做与初始节点相同的事情。换句话说,它从自己的邻居集合中随机选择一个邻居,并通过互连进一步发送信息。最终,每个人都掌握了信息,协议也就终止了。

public Node extends Thread {
    public Node(Integer ID, List<String> neighbors){
    }
}

https://www.coursera.org/learn/cloud-computing/lecture/5aoex/1-2-the-gossip-protocol

共有1个答案

汪翰墨
2023-03-14

如果要将键-值对从映射传递给构造函数或方法,可以执行以下操作:

public Node extends Thread {
    public Node(Map.Entry<String, String> entry) {
        String id = entry.getKey();
        String neighbors = entry.getValue();

        // ...
    }
}

然后你就可以随便叫了。

for (Map.Entry<String, String> entry : map.entrySet()) {
    Node node = new Node(entry);
}

Map.EntrySet

 类似资料:
  • 异常在线程"main"java.lang.ArrayIndexOutOfBoundsExctive:索引0越界的长度; 我无法从用户那里读取构造函数中的值

  • 问题内容: 所有, 我正在尝试在一些古老的Java代码中进行一些单元测试(无接口,无抽象等)。 这是一个使用ServletContext的servlet(我假设它是由Tomcat设置的),并且它的数据库信息在web.xml / context.xml文件中设置。现在,我已经弄清楚了如何制作Fake ServletContext,但是代码已经 遍布整个地方(因此替换它是不可行的)。我需要找到一种方法

  • 我一直不明白为什么我们能够从其他类调用一个类的构造函数。构造函数是一种方法,通常当试图从类中调用方法时,我们必须要么使该方法静态,这样我们就可以以 但是在构造函数的情况下,我们两者都不做。Java如何调用类的构造函数而不执行这些方法中的任何一个?我知道一个类的构造函数必须对你调用它的类可见,也就是说,如果你调用的类构造函数在不同的包中,你必须导入那个包。 那么,Java如何处理调用构造函数,而不必

  • 我使用的函数返回LinkedHashMap中的键值对。 注意:我无法将LinkedHashMap更改为代码中的任何其他映射,因为该函数正在其他几个函数中使用。 我也在谷歌上搜索并尝试使用TreeMap,它以升序给出我们想要的结果。但是,在树映射中,键是按升序排列的,而不是值。 我的要求主要是价值观。 如何按升序获取值。 提前谢谢!!!!

  • 我有这个问题,这让我发疯,我有这个课程 在我的主类中,我实例化了前一个类,并且可以毫无问题地访问属性 但是当它编译它返回给我一个错误: 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅https://github.com/mozilla/geckodriver.最