Java creating augmented array of size 400,000,000
The biggest problem I can see with this approach, is that a user can't add or get any index higher than Integer.MAXVALUE.  You might need to parse Strings or use a BigInteger type instead of int for those methods.