簡體   English   中英

java引用數組中的對象

[英]java referencing objects in an array

是否有與indexof()類似的函數,該函數將在字符串數組(最好是未排序)中搜索字符串並返回其索引? (或縱坐標值?)

例如我正在嘗試:

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

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

...但是沒有成功。

謝謝。

AV

ps這最終將需要在二維數組中工作(以防萬一)

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

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

要么
如果順序無關緊要

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

對於排序的數組,可以使用Arrays.binarySearch: http : //download.oracle.com/javase/6/docs/api/java/util/Arrays.html

對於未排序的數組, Arrays.asList(array).indexOf("String")Arrays.asList(array).indexOf("String")

但是,由於要順序掃描列表,因此后一種方法效率不高。

坦白地說...

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

會好起來的。 您所寫的時間可能少於問這個問題的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM