集合框架
collection
对象数组:
数组和集合存储引用数据类型,存的都是地址值
Student[] arr = new Student[5] 创建引用数据类型数组
arr[0] = new Student("张三",1); 创建一个学生对象
输出需要在Student类重写toString方法,不然打印是的地址值
集合:
区别:
基本类型存储的是值,引用数据类型存储的是地址值
集合只能存储引用数据类型(对象),集合存储基本数据类型会自动装箱变成对象
数组长度固定
集合长度可以变化,自增
数组和集合什么时候用:
元素固定用数组
元素不固定用集合
Collection(单列集合的根接口):
list接口:有序(存和取顺序一致),有索引可以存储重复
| | |
| | |
ArrayList LinkedList Vector
数组实现 链表实现 数组实现
set接口:正好相反
| |
| |
HashSet treeSet
哈希算法 二叉树算法
=======================================================
父类引用指向子类对象
Collection c = new ArrayList();
collection方法:
add()添加方法:
如果是List集合,一直返回true
如果是Set集合,如果存储重复内弄就返回false
ArrayList,父类重写了toString()方法
remove()删除方法:
clear()清空集合:
c.contatins() 判断是否包含
boolean b = c.contains("b")
c.isEmpty() 判断是否为空
int size() 获取元素的个数
=======================================================
集合的遍历:
Object[] arr = c.toArray();
数组将集合转换成arr数组
=======================================================
c1.addAll(c2)
是把c2整个集合添加进c1
c1.add(c2)
是把c2看成一个对象添加进c1
c1.removeAll(c2)
删除的是c1和c2的交集
c1.containsAll(c2)
判断c1是否全部包含c2
c1.retainAll(c2)
取交集,取出c1和c2的交集
=======================================================
迭代器:
Collection c = new ArrayList();
Itreator it = c.Itreator();
it.hasNext(); 判断石头有元素
it.next()每次+1
======================================================
list集合:
remover()通过索引删除
get();获取值
|
|