
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
集合框架是Java开发基础知识的重要部分,小伙伴们对此掌握了多少呢?现在就来总结一下吧。本文长春达内IT培训为大家介绍Java开发学习:集合框架那些事儿。
一.集合的由来
数组的长度是固定的,当添加的元素超过数组的长度时,需要对数组重新定义,太麻烦。Java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增减而随时变化。
二.集合和数组的区别
数组既可以存储基本数据类型,也可以存储引用数据类型。基本类型存储的是值,引用数据类型存储的是地址值集合只能存储引用数据类型,也可以存储基本数据类型,但是在存储基本数据类型的时候会自动装箱成对象;数组的长度是固定的,不能自动增长,集合的长度是可变的,可以根据元素的增加而增长。如果元素的个数是固定的,推荐使用数组,如果元素的个数不是固定的,推荐使用集合。
三.集合继承体系
Collection(父类)
List集合:有序的(存和取顺序一致)有索引,可以存储重复元素
ArrayList集合:底层是数组实现的
LinfedList集合:底层是链表实现的
Vector集合:底层是数组实现的(基本不用)
Set集合:无序的(存和取顺序不一致),不可以存储重复元素
HashSet:哈希算法
TreeSet:二叉树算法
四.Collection集合的基本功能
boolean add(E e);往集合中添加元素
boolean remove(Object o);删除集合中的元素
void clear();清空集合
boolean contains(Object o);判断是否包含某元素
boolean isEmpty();判断集合是否为空
int size();获取集合的大小
五.集合的遍历
把集合转为数组,可以实现集合的遍历,toArray()转为数组,例如:
Listl=new ArrayList();
l.add("java");
l.add("sql");
l.add("c++");
Object[] arr= l.toArray();
for (int i = 0; i < arr.length; i++) {
String str=(String)arr[i];
System.out.println(str);
}
获取集合的迭代器去遍历集合中的每一个元素。
List l=new ArrayList();
l.add("java");
l.add("sql");
l.add("c++");
Iterator i=l.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
使用增强for循环
List l=new ArrayList();
l.add("java");
l.add("sql");
l.add("c++");
for (String string : l) {
System.out.println(string);
}
六.ArrayList和LinkedList的区别
ArrayList底层是数组结构实现的,查询快修改快,增删慢,LinkedList底层是链表结构实现的,增删快,查询和 修改慢。查询多就用ArrayList,增删多就用LinkedList。
七.集合的泛型
概念:集合声明元素的数据类型,只能是引用数据类型(基本数据类型就用对应的包装类)
好处:
a.提高安全性(将运行期的错误转到编译期),
b.省去强转的麻烦
如何泛型:
List l=new ArrayList();