集合:
set集合:是无序不重复的接口集合,其子类也均不能有重复的元素,最长有的子类集合是HashSet。
HashSet由于是无序的,其判断唯一的依据是HashCade与equals方法的返回值。
规则:
先判断新元素与旧元素的HashCoda值.
结果如果是不相同,则就没有重复的。反之,则
在通过新元素的equals方法判断,是否相同,如果相同则又重复的。
重写hashCode方法的规则:
* 通过内容返回hashCode值
* 依次将该对象中所有的属性值获取其hashCode值,再将所有属性值得hashCode累加,就是该对象的HashCode值
* 如果是基本类型,如int,就直接变为数字相加
* 如果是引用类型,就调用该引用类型的hashCode方法
增强for循环用来遍历容器。
格式:
for (元素内的元素类型 临时变量:被遍历的容器){
//使用临时变量来遍历容器中的数据
}
如:
HashSet<String> hs = new HashSet<String>();//创建集合对象
hs.add("i love java"); //集合中加入元素
hs.add("i like java");
for (String string : hs) { //使用增强for循环遍历集合
System.out.println(string);
}
?容器长度:
集合长度可变
数组长度固定
?存储内容类型:
集合存储引用数据类型
数组存储任意类型
?是否可存储不同类型数据:
集合可以存储不同类型数据
数组只能存储相同数据类型
集合迭代器(遍历):
迭代器Iterator
使用迭代器完成集合遍历的过程是反复获得集合中元素的过程,通常我们将这个反复获取的过程叫做迭代。
调用集合的iterator方法返回这个集合的迭代器对象
综合使用hasNext与next方法获取集合中元素对象 |
|