集合中的存储的是对象的引用,对象存在堆(heap)里
迭代器 = 遍历器(iterator()记得加参数,不加参数的话会报出警告)
List:元素可以索引,可以重复;
Set:元素不可以索引,不可以重复(不可以放同样的元素,放不进去);
Set下面的两个子接口:
HashSet :是无序的;
TreeSet:是有序的;(通过java的排序方法等)
这两个数据存储方式不同,HashSet的数据存储方式是哈希表,
TreeSet的数据存储方式是二叉树;
package javastudy;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
public class Testit {
public static void main(String[] args) {
HashSet<String> a = new HashSet<String>();
a.add("湖南");
a.add("北京1");
a.add("湖北");
// a.add("北京1");
// print2(a);
for(Iterator<String>it = a.iterator();it.hasNext();)//利用for循环也可以
{
System.out.println(it.next());
}
}
// static void print2(HashSet<String>a)
// {
// Iterator<String> it = a.iterator();//通过iterator遍历器借助while可以遍历数组,遍历器相当于指针,遍历就是循环查找所有的元素
//
// while(it.hasNext())
// {
// System.out.println(it.next());
// }
// }
}
输出结果:(注意HashSet是无序的)
湖南
湖北
北京1