10、set集合框架
- 特点:无序、无下标并且元素不可以重复
- 方法:全部继承自Collection中的方法
public interface Set<E> extends Collection<E>
- 添加测试
Set<String> set=new HashSet<String> ();
//添加数据
set.add ("L");
set.add ("Y");
set.add ("M");
System.out.println ("元素个数:"+set.size ());
System.out.println (set);
由测试结果可知:set集合的无序
- 删除操作
//删除操作(不能通过元素下标,只能通过元素删除)
set.remove ("M");
System.out.println (set.toString ());
- 遍历操作
使用增强for
//遍历操作
System.out.println ("增强for");
for(Object object:set){
System.out.println (object.toString ());
}
使用迭代器
Iterator<String> iterator=set.iterator ();
while (iterator.hasNext ()){
System.out.println (iterator.next ());
}
- 判断
System.out.println (set.isEmpty ());
System.out.println (set.contains ("L"));
- 完整代码
package ch09_set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* 测试set集合的使用
* 特点:无序、没有下标 无重复元素
* 1、添加数据
* 2、删除数据
* 3、遍历数据
* 4、判断数据
*/
public class setTest {
public static void main(String[] args) {
Set<String> set=new HashSet<String> ();
//添加数据
set.add ("L");
set.add ("Y");
set.add ("M");
System.out.println ("元素个数:"+set.size ());
System.out.println (set);
//删除操作(不能通过元素下标,只能通过元素删除)
set.remove ("M");
System.out.println (set.toString ());
//遍历操作
System.out.println ("增强for");
for(Object object:set){
System.out.println (object.toString ());
}
Iterator<String> iterator=set.iterator ();
while (iterator.hasNext ()){
System.out.println (iterator.next ());
}
System.out.println (set.isEmpty ());
System.out.println (set.contains ("L"));
}
}
- 补充一些set集合的方法
- size
int size()返回此集合中的元素数(其基数)。 如果这个集合包含Integer.MAX_VALUE元素,返回Integer.MAX_VALUE 。
Specified by:
size在接口 Collection<E>
结果
该集合中的元素数(其基数)
- isEmpty
boolean isEmpty()如果此集合不包含元素,则返回 true 。
Specified by:
isEmpty在接口 Collection<E>
结果
true如果此集合不包含元素
- contains
boolean contains(Object o)如果此集合包含指定的元素,则返回true 。 更正式地说,返回true当且仅当此set包含的元素e这样Objects.equals(o, e) 。
Specified by:
contains在接口 Collection<E>
参数
o - 要在此集合中存在的元素要进行测试
结果
true如果这个集合包含指定的元素
异常
ClassCastException - 如果指定元素的类型与此集不兼容( optional )
NullPointerException - 如果指定的元素为空,并且该集合不允许空元素( optional )
- iterator
Iterator<E> iterator()返回此集合中元素的迭代器。 元素没有特定的顺序返回(除非此集合是提供保证的某个类的实例)。
Specified by:
iterator在接口 Collection<E>
Specified by:
iterator在接口 Iterable<E>
结果
这个集合中的元素的迭代器