Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二进制搜索字符串中的多维数组_Java_Search_Binary Search - Fatal编程技术网

Java 二进制搜索字符串中的多维数组

Java 二进制搜索字符串中的多维数组,java,search,binary-search,Java,Search,Binary Search,事实上,我正在做家庭作业。而且,我真的被卡住了 我需要用正确的方法学习Java。我的老师没有教我们关于字符串的二进制搜索。所以,我不得不花至少几个小时研究这个话题 我需要一些简单的解释和代码 例如: String[][] data={{"John abc","123"},{"Nike cbd","321"}}; 我需要输入搜索“John”,它将显示输出“John abc,123” 有人能为二进制搜索的原理提供一些指导吗?字符串可以像数字一样排序和比较,使用字母字符串比较。为了简单起见,我们假设

事实上,我正在做家庭作业。而且,我真的被卡住了

我需要用正确的方法学习Java。我的老师没有教我们关于字符串的二进制搜索。所以,我不得不花至少几个小时研究这个话题

我需要一些简单的解释和代码

例如

String[][] data={{"John abc","123"},{"Nike cbd","321"}};
我需要输入搜索“John”,它将显示输出“John abc,123”


有人能为二进制搜索的原理提供一些指导吗?

字符串可以像数字一样排序和比较,使用字母字符串比较。为了简单起见,我们假设只有英语,“ABD”比“ABC”大,以此类推


因此,任何二进制搜索算法的例子,你找到的数字将工作的字符串,前提是你的名单是排序当然。这个想法当然很简单——在每次迭代中将候选对象缩小一半,直到找到合适的一个为止

数组。当前一维数组支持binarySearch

因此,您必须将数组缩小到一维,然后调用
binarySearch()

例如:

for(String[] oneDimension : multiDimension ){
   Arrays.sort(oneDimension);
   Arrays.binarySearch(oneDimension, 'search-field');
}

你应该在网上找一本教程。它比我们任何人都能更好地解释这一点