java泛型数组列表-ArrayList类
2016-12-05 11:44
190 查看
ArrayList类
ArrayList<Cat>
c =
new ArrayList<>();(现版本采用第一种)
或ArrayList<Cat>
c1 =
new ArrayList<Cat>();
如果已经清楚或能够估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法:
c.ensureCapacity(100);
这个方法调用将分配一个包含100个对象的内部数组。然后调用add添加数组元素。另外,还可以把初始容量传递给ArrayList构造器:
ArrayList<Cat>
c =
new ArrayList<>(100);
注意:
分配数组列表,如下所示:
new ArrayList<>(100); //capacity是100
new Cat[100]; //size是100
数组列表的容量与数组的大小有很大的区别。如果为数组分配100个元素的存储空间,数组就有100个空位置可以使用。而容量为100个元素的数组列表只是拥有保存100个元素的潜力。
size()方法返回数组列表中包含的实际元素的数目:c.size();将返回c数组列表的当前元素数量,等价于数组a.length。
1、添加元素add
add方法为数组添加新的元素。示例:
c.add(new Cat("n1",
"color1"));
c.add(new Cat("n2",
"color2"));
向后移动元素,以便插入元素。示例:
c.add(0,
new Cat("c",
"yellow"));
2、set方法
set方法设置数组列表指定位置的元素,这个操作将覆盖这个位置的原有内容。
3、remove
删除一个元素,并将后面的元素向前移动。
4、get
获取指定位置的元素值。
5、 trimToSize
将数组列表的存储容量削减到当前尺寸。
示例:
运行结果:
0
c yellow
n1 color1
nx cx
3
c
泛型数组列表-ArrayList类
在java中,数组的大小是不能改变的,为解决这一问题可使用ArrayList类,它在添加或删除元素时,具有自动调节数组容量的功能,而不需要为此编写任何代码。ArrayList是一个采用类型参数的泛型类,可指定数组列表保存的元素对象类型。声明和构造一个保存Cat对象的数组列表:ArrayList<Cat>
c =
new ArrayList<>();(现版本采用第一种)
或ArrayList<Cat>
c1 =
new ArrayList<Cat>();
如果已经清楚或能够估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法:
c.ensureCapacity(100);
这个方法调用将分配一个包含100个对象的内部数组。然后调用add添加数组元素。另外,还可以把初始容量传递给ArrayList构造器:
ArrayList<Cat>
c =
new ArrayList<>(100);
注意:
分配数组列表,如下所示:
new ArrayList<>(100); //capacity是100
new Cat[100]; //size是100
数组列表的容量与数组的大小有很大的区别。如果为数组分配100个元素的存储空间,数组就有100个空位置可以使用。而容量为100个元素的数组列表只是拥有保存100个元素的潜力。
size()方法返回数组列表中包含的实际元素的数目:c.size();将返回c数组列表的当前元素数量,等价于数组a.length。
1、添加元素add
add方法为数组添加新的元素。示例:
c.add(new Cat("n1",
"color1"));
c.add(new Cat("n2",
"color2"));
向后移动元素,以便插入元素。示例:
c.add(0,
new Cat("c",
"yellow"));
2、set方法
set方法设置数组列表指定位置的元素,这个操作将覆盖这个位置的原有内容。
3、remove
删除一个元素,并将后面的元素向前移动。
4、get
获取指定位置的元素值。
5、 trimToSize
将数组列表的存储容量削减到当前尺寸。
示例:
import java.util.ArrayList; public class Test1 { public static void main(String[] args){ ArrayList c = new ArrayList<>(); // ArrayList c1 = new ArrayList(); c.ensureCapacity(100); System.out.println(c.size()); c.add(new Cat("n1", "color1")); c.add(new Cat("n2", "color2")); c.set(1, new Cat("nx", "cx")); c.add(0, new Cat("c", "yellow")); for (Cat cat : c) { System.out.println(cat.name + " " + cat.color); } System.out.println(c.size()); Cat d = c.get(0); System.out.println(d.name); } } class Cat{ String name; String color; Cat(String name, String color){ this.name = name; this.color = color; } }
运行结果:
0
c yellow
n1 color1
nx cx
3
c
相关文章推荐
- Java泛型列表数组
- Java泛型数组列表
- python 列表去重(数组)的几种方法
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- java泛型数组
- C#数组和集合专题3(ArrayList类)
- 数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array?
- Perl语言入门(04 数组+列表)
- python 列表,数组,矩阵两两转换tolist()
- python 中的列表,数组和矩阵
- 《Effective java》读书记录-第25条-列表优先于数组
- Java泛型的实现:“禁止”泛型数组
- 原生js实现ajax和将数组以列表形式显示出来
- python学习第六天 - 列表(数组)
- 【问题汇总】列表数组越界的问题
- [微信小程序]js动态改变数组对象列表中的样式
- python 中的 数组 矩阵 列表
- 实现Comparable接口对存放自定义对象列表(数组)进行排序
- Java泛型数组
- javascript 折半查找字符在数组中的位置(有序列表)