首页 > 代码库 > Collection、Iterator、Set、HashSet

Collection、Iterator、Set、HashSet

Collection接口的基本方法

boolean add(Object o)

向集合当中加入一个对象

void clear()

删除集合当中的所有对象

boolean isEmpty()

判断集合是否为空

remove(Object o)

从集合中删除一个对象的引用

int size()

返回集合中元素的数目

 

 

 

 

 

 

 

 

Set接口继承了Collection接口的上述方法,HashSet类实现了Set接口

import java.util.Set;import java.util.HashSet;class Test{	public static void main(String args[]){		Set<String> hs = new HashSet<String>();		System.out.println(hs.isEmpty());//判断是否为空		hs.add("a");		hs.add("b");		hs.add("c");		hs.add("d");		hs.add("c");//重复添加c		System.out.println("hs对象长度为" + hs.size());		hs.remove("d");//移除d		System.out.println("remove之后为" + hs.size());		hs.clear(); //清空		System.out.println("clear之后为" + hs.size());	}}

List中的对象可以使用下标来读取,但由于Set中的对象不按特定的顺序排序,所以不能使用下标的方式读取集合的数据,我们通过迭代器Iterator来遍历Set中的数据。

Set是Collection的子接口,而Collection又是Iterator的子接口。Itreator接口的常用方法有hasNext()、next(),迭代器的模型如下:

 

 箭头代表游标,方框代表对象,当迭代器对象调用hasNext()方法时,返回值为布尔值,判断游标之后有没有下一个对象,有就返回true。当调用next()时,返回游标所指的下一个对象,同时游标向后移动一位

import java.util.Set;import java.util.HashSet;import java.util.Iterator;class Test{	public static void main(String args[]){		Set<String> hs = new HashSet<String>();		hs.add("b");		hs.add("d");		hs.add("a");		hs.add("c");		//调用Collection接口的iterator方法生成迭代器对象it		Iterator<String> it = hs.iterator();		while(it.hasNext()){			System.out.println(it.next());		}	}}

Collection、Iterator、Set、HashSet