2015-10-29 289 views
1

我的代碼與由用戶輸入的具有字符的ArrayList匹配,並顯示結果。我使用循環和IF語句爲匹配的字符和不匹配的字符打印不同的結果。我使用Array.Contains()方法來比較用戶輸入與ArrayList元素。我試圖在匹配時在ArrayList中打印元素的位置。例如:ArrayList具有:[a,b,c,d]和位置(a代表0,a代表1,b代表2,c代表2代表d,3代表d)。我怎樣才能以編程方式打印匹配元素的位置?如何在Java中的ArrayList中查找元素的位置?

這裏是我的代碼:

ArrayList<Character> charsList = new ArrayList<Character>(); 

for (int i = 0; i < wordsList[0].length(); i++) { 
    charsList.add(wordsList[0].charAt(i)); 
} 

for (int i = 0; i < wordsList[0].length(); i++) { 
    inputValue = input.next().charAt(0); 
    if (charsList.contains(inputValue)) { 
     System.out.println("Matched!"); 
    } 
    else { 
     System.out.println("Not Matched!"); 
    } 
} 

回答

4

您可以使用indexOf方法。

System.out.println(charList.indexOf(inputValue)); 
+0

要小心,這隻返回第一次出現或-1如果不存在。如果您的列表包含重複項,您可以創建新的子列表或將第一次出現迭代到最後一個索引。 – Ghokun

+0

看來,OP使用charList作爲參考集,這聽起來是一個獨特的集合。 – ergonaut

相關問題