java之实现类HashSet与TreeSet

时间:2021-10-26 17:57:56

集合中的存储的是对象的引用,对象存在堆(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