matlab中长度可变的数组保存起来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中长度可变的数组保存起来相关的知识,希望对你有一定的参考价值。

我想每次计算的结果一个一个的存入矩阵中,不过这组数的长度是变化的,就是每次加入一行新计算出的数组,但是每次加的数组的长度不一定相同,

参考技术A 可以考虑用元胞数组,示例如下:
a=[1 2 3];
>> b=[13 5];
>> c=[1 2 3 4 5 6];
>> base=cell(1,5);
>> base1=a;
>> base2=b;
>> base3=c;
>> celldisp(base)

base1 =

1 2 3

base2 =

13 5

base3 =

1 2 3 4 5 6

base4 =

[]

base5 =

[]本回答被提问者和网友采纳

集合ArrayList

数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。

为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。

ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

 

1创建集合

导包:import java.util.ArrayList;

创建对象:ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

 

与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型,

集合中存储的元素,只能为<>括号中指定的数据类型元素

<要存储元素的数据类型> 中的数据类型必须是引用数据类型,不能是基本数据类型

 

2:8种基本数据类型所对应的引用数据类型表示形式

基本数据类型

对应的引用数据类型表示形式

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

他们使用的方式是一样的,只是右面的这些可以调用方法,属性,

数据范围,除了原有的那些,还可以为null

(这也是普通变量和对象的区别,变量不能调用方法和属性,对象可以)

 

3集合中常用方法

方法声明

功能描述

boolean addObject obj

将指定元素obj追加到集合的末尾

Object getint index

返回集合中指定位置上的元素

int size()

返回集合中的元素个数

boolean addint index,  Object obj

将指定元素obj插入到集合中指定的位置

Object removeint index

从集合中删除指定index处的元素,返回该元素

void clear()

清空集合中所有元素

Object setint index, Object obj

用指定元素obj替代集合中指定位置上的元素

 

说明:

1)所有类都是继承Object(以后会再讲)

2)addobj传的就是一个对象,返回值是布尔值,true表示添加成功,但这个值没什么实际意义

3)getindex传一个下标,集合里叫索引。与数组的arr[下标]相同的含义。这里注意,如果超出长度,也会报异常,叫索引越界异常

4)size()返回集合中的元素个数,(相当于数组的length属性),这样就知道了长度,就可以遍历了

5)addindex, obj)这就是方法重载

6)removeindex)传入下标,返回删的值

7)clear()清空

8)setindex, obj)相当于修改, 传入(下标,元素),返回值是被替代的那个元素

 

4集合的遍历和方法应用

 

//集合的相关操作
import java.util.ArrayList;
class  Demo02
{
    public static void main(String[] args)
    {
        ArrayList<Integer> list=new ArrayList<Integer>();      
 
        boolean flag=list.add(1);
        System.out.println(flag); //true,表示存入成功,这个值没什么实际意义
         
        //添加元素
        list.add(2);
        list.add(5);
 
        //获取元素
        System.out.println(list.get(0));
        System.out.println(list.get(1));
        System.out.println(list.get(2));
 
        //集合的长度
        System.out.println("集合的长度是"+list.size());
 
        System.out.println("----------");
 
        //在集合的指定位置插入元素
        list.add(0,8000);
 
        //删除集合中指定的元素
        int ele=list.remove(1);
        System.out.println("被删除的元素为"+ele);
 
        //替换
        int before=list.set(0,5000);
        System.out.println("被替换的元素为"+before);
 
        System.out.println("----------");
 
        //集合的遍历
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
 
        //清空集合
        list.clear();
    }
}

 

技术图片

 

以上是关于matlab中长度可变的数组保存起来的主要内容,如果未能解决你的问题,请参考以下文章

java集合ArrayList

可变数组集合ArrayList

集合

集合

JavaSE Collection集合

Java中的集合