Java所谓动态分配

Java本身(我目前接触到)没有专门的内存动态分配函数或是相应的类,究其原因可能是因为其面向对象的特性;
而如果非要使用动态内存,其实JAVA还是提供了解决方法的;

ArrayLIst:
ArrayList是java为动态数组提供的类

1、什么是ArrayList
ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:
动态的增加和减少元素
实现了ICollection和IList接口
灵活的设置数组的大小

这是一个关于数组方面ArrayList的用法

ArrayList<String> a=new ArrayList<String>();
a.Add("Hellow ");
a.Add("World");
System.out.println(a);//此时会输出Hellow World;

首先第一行,实例化对象不必提,值得注意的是ArrayList后的<>,这种方式叫做泛型,这个尖括号中可以填一种类型如(int,String).
!!!由于大家(String和我定义的)都是对象,不考虑效率,我们大可以将尖括号内部填上我们定义的类的名字!!!

ArrayList<Subject> S=new ArrayList<Subject>();//subject是一个类

然后是第二行和第三行,”.Add”是ArrayList提供的添加元素的方法,它将括号内的元素添加到动态数组里,当然元素类型必须和数组类型是一样的.
!!!所以,实例化一个类,然后将这个类放在Add语句中,ArrayList将把新的地址链接到S后面,数组S动态的增加了一个元素!!!

Subject s=new Subject(...);
        s.workoutGPA(...);
        S.add(s);

另外:
1.有关参数传递,新定义的数组类型是ArrayList<…>,这一长串是一个完整的定义,缺少尖括号会报错;
2.有关访问,ArrayList提供了”.get(i)”访问第i个元素(下标从0开始)

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页