【问题标题】:How to obtain reference to set created inside of loop?如何获取对在循环内创建的集合的引用?
【发布时间】:2016-06-13 02:56:15
【问题描述】:
    int count = 0;
    for (int i = 0; i < width - 1; i++)
    {
        for(int j = 0; j < height - 1; j++)
        {
            new HashSet();
            count++;
        }
    }

我在两个 for 循环中创建集合,但是如何获取对集合的引用?例如,我怎样才能调用“set1”或“set2”?

【问题讨论】:

  • 把它们放在某个集合中。

标签: java set


【解决方案1】:

您可以尝试将它们放入Arraylist

int count = 0;
List<Set<YourClass>> arr = new ArrayList<Set<YourClass>>();
for (int i = 0; i < width - 1; i++)
{
    for(int j = 0; j < height - 1; j++)
    {
        Set s = new HashSet<YourClass>();
        arr.add(s);
        count++;
    }
}

然后你可以调用任何你想要的:

Set theFirstSet = arr.get(0);

和他们一起做事:

theFirstSet.add(your_class_instance);

【讨论】:

  • 我知道 OP 在他们的例子中使用了它们,你真的不应该使用原始类型。
  • 没问题。我 +1 你。
【解决方案2】:

这些集合需要一个名称,例如

HashSet set1; 

使它们成为类级别的字段,以便可以在任何地方引用。

set1 = new HashSet();

【讨论】:

  • OP 正在创建多个 Set,而不仅仅是一个
  • 同意。我只是试图将名称推送到字段中,以便可以在循环之外引用它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 2019-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多