2011-01-07 70 views
2

是否有与indexof()类似的函数,它将为字符串搜索字符串数组(最好是未排序的)并返回它的索引? (或者纵坐标值?)

例如我努力:java引用数组中的对象

String[] colours= {"Red", "Orange", "Yellow"}; 

System.out.println("indexOf(Red) = " + 
     colours.indexOf("Red")); 

...但没有成功。

谢谢。

AV

p.s.这最终将需要一个二维数组的工作(在这种情况下,重要的)

回答

5
String[] colours= {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"}; 

Arrays.asList(colours).indexOf("Red"); // 0 

OR
如果顺序无关紧要然后

Arrays.sort(colours); 
Arrays.binarySearch(colours,"Red");//binary search takes sorted[natural order] array as input 
+0

不起作用。 List.get()将需要一个int参数,并不会搜索数组。 – 2011-01-07 14:02:27

+0

@Toa啊..`indexOf`应该是 – 2011-01-07 14:03:58

0

坦率地说......

int findString(String[] stringArray;String match) { 
    for (i=0;i<stringArray.length;++i) { 
    if (match.equals(stringArray[i]) return i; 
    } 
} 

将你就好了。你可以用更少的时间写出这个问题。