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

用java创建具有特定名称的动态对象[duplicate]

赏逸春
2023-03-14

例如:对于一个测试输入,它们必须是3个对象才能创建名称为v0、v1、v2,而对于其他测试输入,它们必须是5个对象才能创建名称为v0、v1、v2、v3、V4。

下面给出了5个对象的静态程序:

    Vertex v0 = new Vertex("a");
    Vertex v1 = new Vertex("b");
    Vertex v2 = new Vertex("c");
    Vertex v3 = new Vertex("d");
    Vertex v4 = new Vertex("e");
    Vertex v5 = new Vertex("f");

我想让它变得动态,比如k=5(对象的数量):

for(int i=0;i<k;i++){
    Vertex vi= new Vertex("str");
}

共有1个答案

越季萌
2023-03-14

您需要的是映射

String arr = new String[]{"a", "b", "c", "d", "e", "f"};
Map<String, Vertex> map = new HashMap<>();
for(int i = 0; i < arr.length; i++) {
    map.put("v" + i, new Vertext(arr[i]));
}

然后您可以使用对象的名称检索对象,例如,如果您需要v3,您可以编写:

Vertex v3 = map.get("v3"); // returns the object holding the String "d"
System.out.println(v3.somevariable);

如果somevariable保存了您在构造函数中传递的字符串,那么print语句的输出将为

d
 类似资料:
  • 假设我在Java中有一个类Animal和3个子类。结构如下所示 我想在breed类中创建另一个对象,但我想创建同一个子类的对象,方法breed()就是从这个子类执行的。例如,如果执行了,我想在那里创建一个新的Frog对象(因为summing Frog是一个Frog对象),如果执行了,我想创建一个新的bear对象,等等。 有没有办法在动物类中处理,或者我必须在每个子类中重写方法?

  • 问题内容: 我如何做到这一点: 问题答案: 请改用方括号表示法。 或者,在现代JavaScript中:

  • 问题内容: 想知道是否有人在使用新功能通过PHP 5.3对类进行命名空间时是否遇到了此问题。 我正在使用单独的类来生成动态类调用,以在应用程序中定义用户类型。基本上,类定义器采用类型的整数表示形式并解释它们,返回一个包含要用作该用户模型的类名的字符串。 我在全局范围内定义了具有该名称的用户类型的对象模型,但是在Editor名称空间中,该用户的编辑器具有另一个名称相同的对象。由于某些原因,PHP不允

  • 输出字符串: 02/04/2014 现在我需要以相同的方式格式化日期(“02/04/2014”)。

  • 问题内容: 我正在尝试从JavaScript创建iframe并用任意HTML填充它,如下所示: 我希望然后包含一个有效的窗口和文档。但是,事实并非如此: console.log(iframe.contentWindow); 空值 我在俯视什么? 问题答案: 设置javascript中新创建的时,除非将该元素插入文档中,否则不会触发HTML解析器。然后更新HTML,将调用HTML解析器并按预期处理属

  • 问题内容: 我有此对象数组,需要对其进行修改以使其更容易呈现。 我正在尝试对其进行修改,并按特定的键将它们分组。这个想法是要有这个输出。如您所见,键的名称可能与项目中的实际名称不同。我认为这与以前的帖子有些不同。 我尝试使用,但它并不能完全满足我的需求。关于如何处理它的任何想法? 非常感谢!! 问题答案: 这可以用一个巧妙的combinartion完成和。