Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_String_Java Me - Fatal编程技术网

Java 从另一个字符串数组中筛选字符串数组

Java 从另一个字符串数组中筛选字符串数组,java,arrays,string,java-me,Java,Arrays,String,Java Me,我对字符串函数有点困惑 我有一个字符串数组 范例 String Array1[]=new String[10]; Array1[0]="Hello"; String Array2[]=new String[10]; Array2[0]="Hello my world"; Array2[1]="Hi buddy"; 我想从Array2中筛选字符串Array1[0] 也就是说,在Array2的哪个索引中显示字符串“Hello”。您需要遍历Array2中的项目并进行子字符串比较: private

我对字符串函数有点困惑 我有一个字符串数组 范例

String Array1[]=new String[10];
Array1[0]="Hello";

String Array2[]=new String[10];
Array2[0]="Hello my world";
Array2[1]="Hi buddy";
我想从Array2中筛选字符串Array1[0]
也就是说,在Array2的哪个索引中显示字符串“Hello”。

您需要遍历Array2中的项目并进行子字符串比较:

private int findIndexOfSubstring(array, target) {
   for (int i=0; i<array.size(); i++) {
      if array[i].indexOf(target)>-1 return i; //element of Array2 contains target in it.
   }
   return -1; //no match found
}

//somewhere else
String Array1[]=new String[10];
Array1[0]="Hello";

String Array2[]=new String[10];
Array2[0]="Hello my world";
Array2[1]="Hi buddy";

int answer = findIndexOfSubstring(Array2, Array1[0]);
private int findIndexOfSubstring(数组,目标){
for(int i=0;i-1)返回i;//Array2的元素中包含target。
}
return-1;//未找到匹配项
}
//其他地方
字符串数组1[]=新字符串[10];
数组1[0]=“你好”;
字符串数组2[]=新字符串[10];
Array2[0]=“你好,我的世界”;
Array2[1]=“你好,伙计”;
int answer=findIndexOfSubstring(Array2,Array1[0]);

迭代第二个数组,每次检查:

for(int i = 0; i < Array2.length; i++) {
if(Array2[i].contains(Array1[0]) {
 //your logic here
System.out.println("Found match at position " + i);

}
}

String[]
实际上是一个字符串数组。因此它可以容纳多个字符串。 例如:

String[] stringArray = new String[2];
stringArray[0] = "My String 1";
stringArray[1] = "My String 2";
如果要查找包含子字符串的字符串数组的第一个索引,需要执行以下操作:

   int findFirst(String subString, String[] stringArray) {
        for (int i = 0; i < stringArray.length; i++) {
            if (stringArray[i].contains(subString)) {
                return i;
            }
        }
        // indicates that no String in the array contained the subString
        return -1;
    }
/**
*此方法在字符串数组中搜索键,从fromIndexSpecified开始查找
*@param源
*@param-key
*@param fromIndex
*@返回
*/
私有静态int findIndexOfKey(字符串[]源,字符串键,int fromIndex){
if(fromIndex>source.length){
return-1;//参数无效..还可以引发IlligleArgumentException
}
for(int index=fromIndex;index-1){
返回索引;//找到。。!
}
}
return-1;//未找到匹配项
}

您可以使用类中的方法
indexOf

用法:

String[] array1 = new String[10];
array1[0] = "Hello";

String[] array2 = new String[10];
array2[0] = "Hello my world";
array2[1] = "Hi buddy";

int index = ArrayUtils.indexOf(array2, array1[0]);
int firstIndex = findFirst("String 2", stringArray);
   /**
     * This method searches for key in the array of String , starts looking from fromIndexSpecified
     * @param source
     * @param key
     * @param fromIndex
     * @return
     */
    private static int findIndexOfKey(String[] source, String key, int fromIndex) {

        if (fromIndex > source.length) {
            return -1;// invalid arg ..can also throw IlligleArgumentException
        }
        for (int index = fromIndex; index < source.length; index++) {
            if (source[index].indexOf(key) > -1) {
                return index;//found..!
            }
        }
        return -1; //no match found
    }
String[] array1 = new String[10];
array1[0] = "Hello";

String[] array2 = new String[10];
array2[0] = "Hello my world";
array2[1] = "Hi buddy";

int index = ArrayUtils.indexOf(array2, array1[0]);