Getting Index of a char from a char array
15,130
If you can't convert it to a string and use indexOf
:
int found = new String(charArr).indexOf(charNeeded)
then you would need to use a loop:
int found = -1;
for (int i = 0; i < charArr.length; ++i) {
if (charArr[i] == charNeeded) {
found = i;
break;
}
}
Or, if you want to use a very over-the-top solution, using streams:
int found =
IntStream.range(0, charArr.length)
.filter(i -> charArr[i] == charNeeded)
.findFirst()
.orElse(-1);
Author by
BUY
Updated on June 13, 2022Comments
-
BUY almost 2 years
Hello I need to get a char's index form a char array (By not using String). Yes I know it is unreasonable to do it while there is String but I need to know how to do it. So, I would appreciate that if you could show understanding.
My char array holds:
" ABCDEF"
(It has a space at the beginning).
When I try this: (I have already imported java.util.Arrays;)
Arrays.toString(charArr).indexOf(charNeeded);
It returns 16 because:
System.out.println(Arrays.toString(charArr));
Prints [ , A, B, C, D, E, F], it means the String that is being returned(index being searched in) is that. I need to search the index on " ABCDEF" can anyone help?
Thanks in advance.
-
Logan almost 6 yearsPossible duplicate of Where is Java's Array indexOf?
-
Ashwin K Kumar almost 6 yearsinstead of using
Arrays.toString(charArr).indexOf(charNeeded);
usenew String(charArr).indexOf(charNeeded);
-
-
BUY almost 6 yearsThank you for your understanding and kinid answer I think this would work.