保留先前变量和输出中的信息

时间:2020-03-07 03:32:45

标签: java list

在我输入Word / s的地方编写一个小程序,然后将其哈希码将其转换为数字,这样我就可以将这些数字用作诸如Rimworld或Minecraft之类的种子的种子。

我目前使用的是:

String levelSeed= "hello";
int levelSeedNum = levelSeed.hashCode();
System.out.println(levelSeed);

哪个效果很好。但是我一直在考虑保存单词和列表中的哈希码,以便可以看到已经使用的内容。我似乎无法弄清楚该如何做,因为当我添加一个新单词时,它会重置我的列表。

ArrayList<String> ls = new ArrayList<String>();
ls.add(levelSeed);
System.out.println(ls);

每次执行代码时不重置列表的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您的问题似乎是您每次拥有新种子时都将ls分配给新列表:

ArrayList<String> ls = new ArrayList<String>();

这意味着您将丢失旧列表中的所有内容。您需要做的只是将列表初始化一次,然后向其中添加多个元素:

ArrayList<String> ls = new ArrayList<String>(); //this creates a new, empty list
//... do stuff
ls.add(aSeed);
//... do stuff
ls.add(anotherSeed);
//ls now has two elements in it
ls = new ArrayList<String>();
//and now it's empty

编辑

如果要按种子构建列表种子,则需要进行某种循环。这是一个简单的示例:

final int NUM_SEEDS = ...;
for (int i = 0; i < NUM_SEEDS; i++) {
    String seed = ... //collect a seed by whatever means you're using
    lst.add(seed);
}
//lst.size() is now NUM_SEEDS.