关于java的学习记录:
Day15
1.集合的由来:数组的长度是固定的,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可变的,随着元素的增加而增加,随着元素的减少而减少。
2.数组和集合的区别:
a.数组既可以存储基本数据类型,又可以粗糙农户引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值;集合只能存储引用数据类型(对象),集合也可以存储基本数据类型,但在存储的时候会自动装箱变成对象。
b.数组的长度是固定的,不能自动增长;集合的长度是可变的,可以根据元素的增长而增长
Collection包括List(有序)和Set(无序)
List包括ArrayList(数组实现),LinkedList(链表实现)和Vector(数组实现)
Set包括HashSet(哈希算法)和TreeSet(二叉树算法)
3.Collection接口的基本功能:
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
注意:collectioXxx.java使用了未经检查或不安全的操作,add方法如果是list集合一直都返回true,因为list集合中是可以存储重复元素的,如果是Set集合,当存储重复元素时就会返回false,ArrayList的父类的父类重写了toString()方法