java基础学习day37(集合)
- 互联网
- 2025-08-20 12:54:01

集合与数组的区别 长度:数组长度固定,一旦创建完成,就不能改变。集合长度可变,根据添加和删除元素,自动扩容或自动收缩,(添加几个元素就扩容多少,删除几个元素就收缩多少)存储类型:数组可以存基本数据类型和引用数据类型。集合可以存引用数据类型,但集合不能直接存储基本数据类型,只有把基本数据类型变成包装类后才可以存到集合中基本数据类型对应的包装类: 基本数据类型包装类byteByteshortShortcharCharacterintIntegerlongLongfloatFloatdoubleDoublebooleanBoolean 在JDK5以后 int Integer,char Character(基础数据类型和包装类)之间可以互相转化,即实参可以直接写基础数据类型。 创建集合的对象
ArrayList <E > list = new ArrayList<E >(); //JDK7以前的写法 ArrayList <E > list = new ArrayList< >(); //从JDK7开始的写法
其中:<E >为泛型,用来限定集合中存储数据的类型,在JDK7以后,后面的E可以省略,只写前面的E即可。在sout集合名时,打印的不是地址值,而是集合中存储的数据内容,同时会用[ ]把所有的数据进行包裹,数据与数据之间用“,”隔开,这是java已经写好的模式。 ArrayList成员方法 add(添加元素)的方法,若匹配数据类型则不管内容,返回值都是true,都会添加成功。且add(添加元素)的方法,添加的是元素的地址值,有一个注意点,如图:若在循环外创建Student对象,只会申请一次内存空间用来存Student的值,则循环内每次添加的元素的地址都相同,修改这个Student对象的内容时,会将几个相同地址值的元素的内容均进行修改 若在循环内创建Student对象,则每次创建都会申请一片新空间用来存储Student的值,即每次添加的元素的地址值都不同,那么修改这个Student对象时,每次都是独立修改,不会对之前的造成影响。且这个Student对象名为局部变量,每次循环结束都会回收这个Student对象名,但因为集合中有元素的地址指向这块内存空间,所以,这块内存空间不会回收。
其中remove(删除元素)的方法,会删除从左至右的第一个匹配的元素,删除成功后,返回true,集合会更新,若删除失败,返回false,集合不变。java基础学习day37(集合)由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“java基础学习day37(集合)”