Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays int-2D int数组的OO风格替代方案_Arrays_Oop_Multidimensional Array_Data Structures_Collections - Fatal编程技术网

Arrays int-2D int数组的OO风格替代方案

Arrays int-2D int数组的OO风格替代方案,arrays,oop,multidimensional-array,data-structures,collections,Arrays,Oop,Multidimensional Array,Data Structures,Collections,我经常使用2D数组来处理Java中的各种问题。我知道2D数组更像是一种C方式。我想了解一下什么是2D阵列的面向对象替代方案。我意识到大多数人只是继续使用它,而没有考虑OO风格中可用的替代方案。除了集合(hashmap、arraylist等)之外,还有哪些替代方案及其相对于2d阵列的性能优势 谢谢。在大多数情况下,二维阵列都可以 只有当数组表示一些有意义的对象时,使用对象才有意义 如果你在做数学,请查看带有Matrix类的线性代数库 如果您正在进行图像处理,Java核心包中甚至可能有一个imag

我经常使用2D数组来处理Java中的各种问题。我知道2D数组更像是一种C方式。我想了解一下什么是2D阵列的面向对象替代方案。我意识到大多数人只是继续使用它,而没有考虑OO风格中可用的替代方案。除了集合(hashmap、arraylist等)之外,还有哪些替代方案及其相对于2d阵列的性能优势


谢谢。

在大多数情况下,二维阵列都可以

只有当数组表示一些有意义的对象时,使用对象才有意义

  • 如果你在做数学,请查看带有
    Matrix
    类的线性代数库
  • 如果您正在进行图像处理,Java核心包中甚至可能有一个
    image
  • 否则,您可能只需要一个数组就可以了

您应该展示使用2D数组的代码,看看如何使用OOP方法对其进行重构……当然有“封装行/列”,但这是否真正有用/合乎逻辑显然取决于您在建模什么以及使用它做什么。