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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With