在我的计算机科学课程中,我们正在学习查找表。但是我们的老师没有在他发布的课程页面中提供任何示例,也没有在他提供的视频中提供任何示例。他所做的只是告诉我们它是什么,但他希望我们在下一个任务中使用它们。但他没有给我们举例说明如何做到这一点。在进入查找表之前,我们正在学习数组。有人可以
- 告诉我什么是查找表?(请详细说明?)
- 提供一些查找表的示例?我们应该使用数组吗?
在我的计算机科学课程中,我们正在学习查找表。但是我们的老师没有在他发布的课程页面中提供任何示例,也没有在他提供的视频中提供任何示例。他所做的只是告诉我们它是什么,但他希望我们在下一个任务中使用它们。但他没有给我们举例说明如何做到这一点。在进入查找表之前,我们正在学习数组。有人可以
您可以使用映射来存储键/值对并通过其键查找值:
Map<Integer, String> map = new HashMap<>();
map.put(1, "Foo");
map.put(2, "Bar");
System.out.println(map.get(1)); // prints Foo
如果您应该使用数组,那很好而且简单。
int[] numbers = new int[5] // Initialise a new array with 5 "spaces".
for(int x = 0; x < 5; x++)
{
numbers[x] = x;
// This will populate the array with 0,1,2,3 and 4.
}
现在要访问这些数字之一,您可以使用它的索引。IE
int value = numbers[3]; // Will return 3.
所以你已经通过使用它的索引作为“键”来访问数组中的值。
在我的理解中,查找表是一种使用给定“键”获取“值”的方法,它比迭代搜索快得多:即:
for(int x=0; x < 10; x++){
if( x == n ) {
return x;
}
}
这将不得不搜索(最多)10 的 1/2 以找到“n”的匹配值。使用“lookupTable”,您可以直接访问所需的值,而无需使用它的“键”进行迭代。
假设您正在寻找给定 mySql 数据类型的 Java 变量类型。你可以使用地图。
Map<String, String> lookUpTable = new Map<>();
lookUpTable.put( "VARCHAR", "String" );
然后您可以在 Java 中找到“VARCHAR”数据类型的转换值,它将是
lookUpTable.get("VARCHAR"); // This would give you "String".
我知道你问这个问题已经很长时间了,我相信你成功地完成了你的任务。但是,我将与像我一样想知道 alookup table
是什么的每个人分享我的答案。
Lookup table
它只是一个数组。查找表(数组)它在提供我们需要的数据方面非常快O(1)。想象一下它就像一个包含两列的表格。第一列是键/索引,第二列是值/数据。我们可以通过index直接访问我们需要的数据。