使用a HashMap时,对于速度,对象类型对于元素检索有多大影响?假设我使用循环来迭代大型哈希映射的可能键.什么是我可以使用的最有效的密钥类型?
截至目前,由于简单起见,我使用String作为关键对象类型.在编码时,这个问题突然出现在我的脑海中并激起了我的好奇心.我试图在网上搜索这个问题,但找不到我想要的答案.谢谢!
我现在已经编程了一段时间,我对使用公共方法有疑问.我正在研究自动售货机程序,我有一个私有方法setUpMachine()来初始化游戏并设置对象.我有另一个私有方法startMachine()启动游戏并提示用户输入.然后它将输入传递给另一个私有方法checkInput(),该方法检查输入是否有效......但这是我遇到的问题,而不是一个"问题",但有一种奇怪的感觉,我没有正确地做某事.setUpMachine()对于我的第三种方法,我需要访问第一种方法中的对象checkInput().问题是我有很多物品(糖果,薯片,苏打水,饼干),并将它们全部传递到检查周边,这似乎是不对的.换句话说,这样做:
checkInput(FoodType candy, FoodType chips, FoodType soda, FoodType cookie)
Run Code Online (Sandbox Code Playgroud)
似乎不对.这是否意味着,如果我使用私有方法,每次我想使用它时都必须传递对象?我读到制作公共方法是不好的做法.
对此的解释将是很好的,而不是解释告诉我我的编码是低效的,但更多的解释描述何时以及如何使用私有方法,或者是否有另一种方法去做这件事.
我创建了一个算法来读取文件并检查用户输入的多个问题.我正在使用Netbeans,它建议尝试使用资源.我不确定的是关闭文件.当我第一次创建算法时,我将file.close()放在错误的位置,因为无法访问它,因为它之前有一个"return"语句:
while (inputFile.hasNext()) {
String word = inputFile.nextLine();
for (int i = 0; i < sentance.length; i++) {
for (int j = 0; j < punc.length; j++) {
if (sentance[i].equalsIgnoreCase(word + punc[j])) {
return "I am a newborn. Not even a year old yet.";
}
}
}
}
inputFile.close(); // Problem
Run Code Online (Sandbox Code Playgroud)
所以我用这个修好了:
File file = new File("src/res/AgeQs.dat");
Scanner inputFile = new Scanner(file);
while (inputFile.hasNext()) {
String word = inputFile.nextLine();
for (int i = 0; i < sentance.length; i++) {
for …Run Code Online (Sandbox Code Playgroud)