2015-11-19 125 views
0

假設我有以下數組:查找無環陣列中的相同元素的索引

arr = [T, F, F, T, F, F, F, T, F]; 

是否有一個簡單的方法來找到T的指數?在這種情況下,我想返回[0,3,7],並且不想使用任何循環。

我在網上搜索了一個解決方案,但找不到任何東西。

+1

是。你有什麼嘗試? – Maroun

+1

你的意思是[0,3,7]? – skypjack

+0

此鏈接將幫助您; http://stackoverflow.com/questions/13291635/search-string-array-without-a-using-a-loop – Shivam

回答

0
List<String> list = Arrays.asList("T", "F", " F", "T", "F", "F", "F", "T", "F"); 
     String looking_for = "T"; 
     int[] indices = 
       IntStream.range(0, list.size()) 
       .filter(i -> list.get(i).equals(looking_for)).toArray(); 
     System.out.printf("Indices with %s are %s%n", looking_for, Arrays.toString(indices)); 

輸出:

Indices with T are [0, 3, 7] 
+1

雖然這可能是一個正確的答案,但請不要提供沒有解釋的完整解決方案。特別是當OP沒有表現出最小的努力時。 – Maroun