【问题标题】:Java - creation of multiple object of a same kind and storing them in 2d arrayList mapJava - 创建多个相同类型的对象并将它们存储在 2d arrayList 映射中
【发布时间】:2016-08-05 04:55:34
【问题描述】:

我需要创建 30 个相同类型的对象,它们的名称应该以大写字母开头,例如“K”,在字母之后我需要对象的索引 例如 K1 ; K2 ... K30 有没有办法进入一个有计数器的循环,可以正常工作 像这样的

for (int i = 0; i<20;i++){
K k = new K();
k.setName("k" + i)
}

我还有一张 2d ArrayList 20x20 的地图 并且所有这些对象都需要在此数组列表中具有随机位置 x 和 y 我可以轻松生成随机数,但是如何使用它们将对象放入数组列表中 感谢您的宝贵时间!

【问题讨论】:

  • 好吧,您已经创建了 20 个实例;创建 30 很简单。
  • 这只是我写的一个例子,但这是否可行 k.setName("k" + i) 以及如何将对象放入数组列表中。我假设他们需要位置 x 和 y 但我需要用 x 和 y 做什么才能将对象放入 ArrayList
  • 我们不知道。 K类有没有叫“setName”的方法?
  • @DimitarVelikov 如果您在该句子的末尾放置一个分号,并且只要您的类 K 具有一个名为 setName() 的设置器的“名称”属性,它就会。另一方面,你为什么不试一试呢?
  • 嗯,有

标签: java arrays oop arraylist


【解决方案1】:

如果你有一个 K 类,使用setName() 方法,你可以执行以下操作:

List<K> list = new ArrayList<K>(); 
for(int i=1 ; i<=30 ; i++){
    K k = new K();
    k.setName("K" + i);
    list.add(k);
}

【讨论】:

    【解决方案2】:

    您的代码很好,只需将限制设置为 30,如果您想要一个对象列表,您必须创建一个列表并添加对象,例如

    List<K> kObjects = new ArrayList<K>();
    for (int i = 1; i <= 30; i++){
        K k = new K();
        k.setName("K" + i);
        kObjects.add(k);
    }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 2012-12-25
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2022-11-29
      相关资源
      最近更新 更多