HashSet的遍历和使用特点

Set集合可以看做是map集合的另一种形式,它包含hashSet和TreeSet 由于TreeSet的基础结构是红黑树,所以我们放在后面对树进行总结后再总结TreeSet和TreeMap。此处只简单介绍hashSet。上代码,要点在注释中。

@Test
	public void testHashSet(){
		Set set = new HashSet();
		set.add("1");
		set.add("9");
		set.add("5");
		set.add("7");
		set.add("7");
		set.add("");
		set.add(null);
		//hashSet 和list 的使用方法类似,所以不再详细比较效率,在此处简单列举一下遍历的方法,需要注意一点,set的取值只能通过迭代器。
		//1.通过迭代器
		Iterator iterator = set.iterator();
		while(iterator.hasNext()){
			System.out.print(iterator.next()+" ");
		}// null  1 7 5 9 可以看到,set中只保存了一个7 ,说明hashSet中不允许重复数据。 且没有放入顺序,也没有自然顺序
		System.out.println();
		//2.通过foreach循环
		for(Object obj : set){
			System.out.println(obj);
		}// 输出结果 null  1 7 5 9 HashSet中可以存放null值 ""值
		
		//列举下set中常用方法
		//1.查看set中是否包含某元素
		boolean test1 = set.contains("7");
		System.out.println(test1);//true
		//2.查看set是否为空集合。
		boolean test2 = set.isEmpty();
		System.out.println(test2);//false
		//3.去除集合中的某个元素
		set.remove("5");
		for(Object obj : set){
			System.out.print(obj+" ");
		}//null  1 7 9 
		System.out.println();
		//4.清空集合
		set.clear();
		for(Object obj : set){
			System.out.print(obj+" ");
		}// 
		System.out.println();
	}

 

你可能感兴趣的:(java开发)