我有一个泛型类应该创建一个数组中存储的可比较集合。可比公司和仿制药的工作方式我很不清楚。添加到泛型集合
public class OrderedCollection<T extends Comparable<? super T>>
{
private T collection[]; // the collection
private int size, tempValue; // how many elements currently stored
/**
* Constructor allocates array and initializes size
* @param size the number of elements stored
*/
public OrderedCollection (int capacity)
{
collection = (T[]) new Comparable[capacity];
size = 0;
}
}
首先,什么样的集合是收集(排列,列表等)。它永远不会显式实例化为新的Array [],所以我很好奇它应该如何创建一个数组。其次,需要一种插入指定值(用于测试目的,我已经使用'5')并将其分配给集合[0]的方法。但是,当我返回集合[0]时,它返回为空。这里是插入方法:
public void insert(T x)
{
collection[0] = x;
}
没什么特别的。我将非常感谢一些澄清,为什么收集返回null,以及我应该如何去增加指定x价值的集合。
你可以看看[ArrayList的代码](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/例如ArrayList.java#ArrayList。%3Cinit%3E%28int%29) - 等价构造函数确实:'collection = new Object [capacity];'。通用部分在其他方法中。例如:'public T get(int index)' – assylias