在 Java 中是否可以对数据结构进行参数化,使其只能容纳一定长度的数组。我正在编写一个处理 3d 对象的程序,我想要一个列表,该列表将只保存存储为 3 个 double 组或 double [3] 的 vector 。下面的代码无法编译。
Vector<double[3]> myList = new Vector<double[3]>();
有没有办法限制存储在数据结构中的数组的大小?
最佳答案
是的,创建该数据结构的子类并覆盖该数据结构的add
/put
方法,在添加之前检查数组的长度是否为3。
示例如下:
import java.util.Vector;
public class SubClassArrayList<E> extends Vector<E> {
public boolean add(E e , int length) {
if (e instanceof Object[] && ((Object[]) e).length == length) {
return super.add(e);
}
else return false;
}
}
以上也适用于 ArrayList
关于java - 参数化数据结构以保存特定大小的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23573689/