1.概述
1、Set是Collection下面的无序子接口
2、特点:
无序:里面的元素没有位置的区别,所有的元素在里面存放都相当于是打乱的。
没有索引:因为元素在集合当中是没有任何的确定的位置的,所以说元素也就没有索引
不能重复:集合当中不能去存储重复的元素。因为没有位置的区别,如果存储了重复的元素,那么这些重复的元素就无法区分了。
2.Set遍历
Set集合没有特有的方法,只能去使用Collection接口当中的方法
1.使用toArray(),转换成一个数组,对数组进行遍历;
2.toArray(T[] a) 里面可以传递一个数组把集合当中的元素存储到传入的数组当中去
(1)数组的类型和集合当中的元素的类型不一致
报错,抛出异常:java.lang.ArrayStoreException
(2)数组的类型和集合当中的元素的类型一致
《1》数组的长度小于集合的长度
不使用我们传入进去的数组,自己创建一个和集合长度一致的数组,把元素放进去,返还给我们。
《2》数组的长度等于集合的长度
使用的是我们传入进去的数组,把集合当中的元素放进去了,返回的也是我们传入进去的数组。
《3》数组的长度大于集合的长度
使用的是我们传入进去的数组,把集合当中的元素按照索引从0开始依次放进去,返回的也是我们传入进去的数组。
3.迭代器遍历:
4.增强for遍历:
格式:
for(元素的类型 元素名 : 集合名){
System.out.println (元素名);
}
解释:
本质上,底层还是使用迭代器进行遍历,在遍历过程当中,也不能使用集合来删除元素,会发生并发修改异常。