Привет, я пытаюсь создать массив в префиксном размере (например, размером 10) в главном, а затем добавить элементы (например, 3 элемента) в массив, это сделает массив имеет 7 неиспользуемых пробелов, позже, я хочу написать метод, который обрезает неиспользованный размер.Инициализировать определенный размер для массива
Но как я могу создать массив с фиксированным размером, потому что, очевидно, мой конструктор не допустит эту операцию ниже.
*Bag<String> names = new Bag<String>(**10**);*
public class Bag<T extends Comparable<T>> implements Iterable<T> {
private int MAX_ITEMS = 10; // initial array size
private int size;
private T[] data;
public Bag() {
data = (T []) new Comparable[MAX_ITEMS];
size = 0;
}
public static void main(String[ ] args) {
Bag<String> names = new Bag<String>();
names.add("Seattle");
names.add("Chicago");
names.add("New York");
System.out.println(names.size());
for (String name : names)
System.out.println(name);
names.trimToSize();
System.out.println(names.size());
}
}
Это не является очевидным для меня, что это не допускается. Мой компилятор (Java8, Eclipse) принимает это. – CoronA
@CoronA Поскольку мой конструктор пакетов не принимает никаких параметров – Robert
Где ваш метод 'итератора()'. Этот код будет компилировать noy. –