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());
	}
}

Collection、Iterator、Set、HashSet_第1张图片

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

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

Collection、Iterator、Set、HashSet_第2张图片

 

 箭头代表游标,方框代表对象,当迭代器对象调用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_第3张图片

你可能感兴趣的:(Collection)