Add a constructor which allows the initial capacity to be specified