I have a large float (primitive) array and not every element in the array is filled. How can i mark a particular element as EMPTY. I understand this can be achieved by some special symbols but still i would like to know the standard way. Even if i am using some special symbol , how will i handle a situation where the actual data item is the value of special symbol. In short my question is how to implement the NULL feature in a primitive type array in java.
PS - The reason why i am not using Float object is to achieve a high memory and speed performance.
Thanks Vineeth
You could use Float.NaN
, no valid value will ever be that.
Note that one NaN
is never equal to another NaN, so you can check if something is NaN
by:
float a = Float.NaN;
if( a != a ) {
System.out.println("wat?");
}
In code intended for people to read, you should use Float.isNaN
method though.
Can you use Float.NaN?
public class FloatArray {
public static void main(String[] args) {
float[] data = new float[10];
data[5] = Float.NaN;
for (float f : data){
if (Float.isNaN(f)){
System.out.println("No Valve");
} else {
System.out.println(f);
}
}
}
}
Then where is not risk of using a Sentianl Value like -1 that may be valid and you can test using Float#isNaN(f)
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