2011-01-07 101 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; 
    } 
} 

將你就好了。你可以用更少的時間寫出這個問題。