Java中的查找表?

在我的计算机科学课程中,我们正在学习查找表。 但是我们的老师没有在他发布的课程页面中提供任何示例,也没有提供他提供的video。 他所做的只是告诉我们它是什么,但他希望我们在下一个任务中使用它们。 但他未能向我们举例说明如何做到这一点。 在进入Lookup Tables之前,我们正在学习Arrays。 有人可以

  1. 告诉我查找表是什么? (请问有很多细节吗?)
  2. 提供一些查找表的示例? 我们应该使用Arrays?

您可以使用映射来存储键/值对,并通过键来查找值:

 Map map = new HashMap<>(); map.put(1, "Foo"); map.put(2, "Bar"); System.out.println(map.get(1)); // prints Foo 

如果你应该使用Arrays,它很简单。

 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. } 

现在要访问其中一个数字,您可以使用它的索引。 即

 int value = numbers[3]; // Will return 3. 

因此,您可以使用索引作为“键”来访问数组中的值。

在我的理解中,查找表是一种通过给定“键”获得“值”的方法,它比迭代搜索快得多:即:

 for(int x=0; x < 10; x++){ if( x == n ) { return x; } } 

这将必须搜索(充其量)10的1/2,以找到匹配的值“n”。 使用“lookupTable”,您可以直接使用所需的值,而无需使用“key”进行迭代。

假设您正在寻找给定mySql数据类型的Java变量类型。 你可以使用地图。

 Map lookUpTable = new Map<>(); lookUpTable.put( "VARCHAR", "String" ); 

然后你可以在Java中找到“VARCHAR”数据类型的转换值

 lookUpTable.get("VARCHAR"); // This would give you "String".