`
komei
  • 浏览: 91246 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

dynamic array

    博客分类:
  • j2ee
 
阅读更多
/**
* Reallocates an array with a new size, and copies the contents
* of the old array to the new array.
* @param oldArray the old array, to be reallocated.
* @param newSize the new array size.
* @return A new array with the same contents.
*/
private static Object resizeArray (Object oldArray, int newSize) {
int oldSize = java.lang.reflect.Array.getLength(oldArray);
Class elementType = oldArray.getClass().getComponentType();
Object newArray = java.lang.reflect.Array.newInstance(
elementType,newSize);
int preserveLength = Math.min(oldSize,newSize);
if (preserveLength > 0)
System.arraycopy (oldArray,0,newArray,0,preserveLength);
return newArray; }



// Test routine for resizeArray().
public static void main (String[] args) {
int[] a = {1,2,3};
a = (int[])resizeArray(a,5);
a[3] = 4;
a[4] = 5;
for (int i=0; i<a.length; i++)
System.out.println (a[i]); }


How to resize a two-dimensional array

Two-dimensional arrays in Java are arrays of arrays. To resize a two-dimensional array, the resizeArray function must be applied to the outer array and to all the nested arrays.
Example:

  int a[][] = new int[2][3];
//...
a = (int[][])resizeArray(a,20);
// new array is [20][3]
for (int i=0; i<a.length; i++) {
if (a[i] == null)
a[i] = new int[30];
else a[i] = (int[])resizeArray(a[i],30); }
// new array is [20][30]
分享到:
评论

相关推荐

    1.2_高效的DynamicArray_图形学_

    本教学主题“1.2_高效的DynamicArray”主要聚焦于动态数组(Dynamic Array)这一常见且重要的数据结构,它是图形处理中常用的基础工具。动态数组是一种能够自动调整大小的数组,它允许我们在运行时增加或减少容量,...

    用C++在VS 2017 实现 DynamicArray-class 相关功能

    导师布置的基础作业,包括DynamicArray-class 动态数组类的基本操作,template类和STL的简单运用。为了方便更好的理解我把作业要求也放在里面了。相似代码可能网上也有的吧,就当做个备份了_(:з」∠)_

    1.3_Templated DynamicArray_图形学_

    "1.3_Templated DynamicArray" 这个主题聚焦于一个特定的数据结构——模板化的动态数组(DynamicArray)。动态数组是一种能够根据需要自动调整大小的数组,它在计算机科学,尤其是在图形学中被广泛应用。 动态数组...

    DynamicArray02.java

    DynamicArray02.java

    Prg.Lng.Prj.(DynamicArray).rar_lng

    标题 "Prg.Lng.Prj.(DynamicArray).rar_lng" 暗示着这是一个关于编程语言(可能是C++或类似的)中的动态数组项目。描述提到 "dynamic arrays in object",这意味着我们将探讨对象(可能是类)如何在编程中利用动态...

    1.1_基本的DynamicArray_图形学_

    在图形学领域,动态数组(Dynamic Array)是一个基础且重要的数据结构,它在处理大量几何数据时发挥着关键作用。动态数组,也被称为可变大小的数组或动态大小的数组,与传统固定大小的数组不同,它允许在运行时动态...

    1.2_高效的DynamicArray_图形学_源码.zip

    1.2_高效的DynamicArray_图形学_源码.zip

    DynamicArray:用C语言实现动态数组

    DynamicArray *array = create_dynamic_array(initial_size); // 添加元素 add_element(array, value); // 扩容 resize(array, new_size); // 访问和修改元素 value = array-&gt;elements[index]; array-&gt;...

    C++Builder动态对象数组

    ### C++Builder动态对象数组:TList类、DynamicArray与STL中的Vector容器 #### TList 类 在C++Builder中,TList是用于管理动态对象数组的一种方式。它提供了较为简便的方式来创建、管理和销毁一系列对象。TList...

    sarray20.rar_dynamic array_动态数组

    一个动态数组设置程序,可以增加,删除数组头,尾,和一般数组效率比较等

    Dynamic-reading-array.zip_array_reading_数组 C++

    DynamicArray(int initialCapacity = 10) : data(new int[initialCapacity]), capacity(initialCapacity), size(0) {} void push_back(int value) { if (size == capacity) { resize(capacity * 2); } data...

    DynamicArray:它基本上是我们在Java中看到的ArrayList

    动态数组在Java编程语言中,通常以ArrayList类的形式存在,它是集合框架的一部分,位于`java.util`包下。ArrayList是一个基于数组实现的可变大小的列表,它允许我们在列表的任何位置插入、删除和查找元素。...

    ADTSet-DynamicArray:这是在Set ADT上实现动态数组的一种可能方法

    **ADTSet-DynamicArray: C++中使用动态数组实现集合抽象数据类型** 集合(Set)是一种抽象数据类型,它代表了不重复元素的无序序列。在C++编程语言中,我们可以用多种方式实现集合,其中一种常见方法是利用动态数组...

    Dynamic Array Library-开源

    动态数组库(如标题中提到的"Dynamic Array Library")通常提供一组便捷的函数,使得程序员能更高效、更安全地处理这种数据结构。本文将深入探讨一个开源的动态数组库——dynarr,它专为Linux平台设计,并具有C++...

    HPE Dynamic Smart Array B140i Controller Driver

    惠普hpe 板载Smart Array B140i Windows Server 2012/2016/2019 64位驱动

    ADTSortedBag-DynamicArray:这是在SortedBag ADT上实现动态数组的一种可能方法

    标题“ADTSortedBag-DynamicArray”表明我们将关注如何用C++语言来实现这个ADT,而“DynamicArray”提示我们这里的核心是利用动态数组(也称为动态链表或向量)来存储元素。 排序袋是一种数据结构,它维护一个元素...

    动态数组的一个小例子

    DynamicArray* array = (DynamicArray*)malloc(sizeof(DynamicArray)); array-&gt;data = NULL; array-&gt;size = 0; array-&gt;capacity = 0; return array; } // 插入元素 void insert(DynamicArray* array, int ...

    动态数组的C语言实现

    DynamicArray* arr = (DynamicArray*)malloc(sizeof(DynamicArray)); arr-&gt;capacity = initial_capacity; arr-&gt;size = 0; arr-&gt;elements = (int*)malloc(initial_capacity * sizeof(int)); return arr; } /...

    C++动态数组的实现与重用.pdf

    对于二维数组的动态生成,可以通过嵌套的方式实现,即定义一个一维的`DynamicArray`,其中每个元素本身也是一个`DynamicArray`,以此来表示二维数组。例如: ```cpp template class Dynamic2DArray { public: ...

    oop-java-dynamic-array-mogyorosibalin:oop-java-dynamic-array-mogyorosibalin由GitHub Classroom创建

    ArrayList&lt;String&gt; dynamicArray = new ArrayList(); ``` 2. **添加元素**: 动态数组提供了多种方法来添加元素,如`add()`方法。当我们调用`add(E element)`时,元素会被添加到数组末尾。 ```java dynamic...

Global site tag (gtag.js) - Google Analytics