java - 参数化数据结构以保存特定大小的数组?

标签 java arrays data-structures vector

在 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/

相关文章:

java - Ant 包含任务

java - Java 中的 For-each 循环

java - 单链表——数据结构逻辑

c# - 确定合并 K 排序数组的时间复杂度

java - 找到数组中等于和的最小元素

java.nio.file.Path 无法解析。它是从所需的 .class 文件中间接引用的

Java 字符串拆分/删除 n 个特殊字符部分

java - 拆分键=值的正则表达式

javascript - 对 javascript 数组进行排序,其中数字存储为文本

c++ - 逐元素移动第一个元素指向的数组的函数