集合:
集合框架的作用:在实际开发中,我们经常会对一组相同类型的数据,进行统一管理,比如数组,链表,二叉树,在jdk1.2之后,java提供了集合的概念.
集合分为三大接口:Collection,Map,Iterator;
Collection接口:
层次结构中的根接口,表示一组对象,也称元素,一些collection允许重复的元素,另一些则不允许,一些有序,另一些无序,不可以直接实现此接口,可通过子接口如Set和List实现.
List接口:
有序的Collection,也称为序列.动态对象数组,集合虽然可以存储不同类型的数据,但实际开发中最好使用泛型来控制集合中的元素类型List;
允许多个null元素;
具体实现类有:ArrayList,Vector,LinkedList;
实际开发中如何选择:
1.安全性问题选:Vector;
2.是否频繁插入,删除操作:LinkedList;
3.是否是存储后遍历:ArrayList;
1.实现原理:采用动态对象数组实现,默认构造方法创建一个空数组;
2.第一次添加元素时,扩展容量为10,之后的扩容算法,是原来数组大小加原来数组大小的一半.(右移是除,左移是乘)
3.不适合删除或插入;
4.为了防止数组扩充次数,建议创建时给构造方法设置初始容量;
5.线程不安全的,适合单线程访问,效率高;
private static void ArrLi(){
//<泛型>,此集合只能添加泛型类型,构造方法初始化容量
List<Integer> list=new ArrayList<>(2);
//添加元素
list.add(10);
list.add(20);
list.add(30);
//返回元素个数
System.out.println(list.size());
//返回指定索引元素
System.out.println(list.get(1));
//返回元素索引
System.out.println(list.indexOf(20));
//根据下标删除元素
list.remove(1);
}
本章对java中的集合进行了概述,并对集合list的接口ArrayList进行了代码演示,集合在java中是一种非常常见的存储方式,所以本章为主题的内容皆为重点;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!