java的HashSet的介绍
2015-10-13 15:46
197 查看
public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, Serializable
构造方法摘要 |
---|
HashSet() 构造一个新的空集合,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。 |
HashSet(Collection<? extends E> c) 构造一个包含指定 collection 中的元素的新 set。 |
HashSet(int initialCapacity) 构造一个新的空集合,其底层 HashMap 实例具有指定的初始容量和默认的加载因子(0.75)。 |
HashSet(int initialCapacity, float loadFactor) 构造一个新的空集合,其底层 HashMap 实例具有指定的初始容量和指定的加载因子。 |
方法摘要 | |
---|---|
boolean | add(E o) 如果此集合中还不包含指定元素,则添加指定元素。 |
void | clear() 从此集合中移除所有元素。 |
Object | clone() 返回此 HashSet 实例的浅表复制:并没有克隆这些元素本身。 |
boolean | contains(Object o) Returns 如果此集合不包含指定元素,则返回 true。 |
boolean | isEmpty() 如果此集合不包含任何元素,则返回 true。 |
Iterator<E> | iterator() 返回对此集合中元素进行迭代的迭代器。 |
boolean | remove(Object o) 如果指定元素存在于此集合中,则将其移除。 |
int | size() 返回此集合中的元素的数量(集合的容量)。 |
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class TestHashSet {
/**
* yy
* 总结:
* 1、HashSet集合的底层实现是hash函数,以及处理碰撞等
* 2、此实现不是同步的
* 它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素
* 此类为基本操作提供了稳定性能,这些基本操作包括 add、remove、contains 和 size,
* 假定哈希函数将这些元素正确地分布在桶中。对此集合进行迭代所需的时间与 HashSet 实例的大小(元素的数量)
* 和底层 HashMap 实例(桶的数量)的“容量”的和成比例。因此,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。
*/
public static void main(String[] args) {
Set<String> set=new HashSet<String>();
set.add("a");
set.add("a");
set.add("b");
System.out.println(set.size());//2
//遍历set集合只能使用迭代器或者增强for
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()){
String v=iterator.next();
System.out.print(v+" ");
}
System.out.println();
for(String s:set){
System.out.print(s+" ");
}
System.out.println();
}
}
相关文章推荐
- JAVA从入门到精通读书笔记 第四章
- java多线程学习笔记(三) ——多线程实例火车票问题+同步synchronized初接触
- java7中G1垃圾收集器使用和流程总结
- 【第五节】Java代码实现队列----【链表的存储形式】
- Eclipse闪退/打不开/无法启动/一闪而过
- Java基础知识强化之多线程笔记04:并行和并发 区别
- Hibernate 学习入门2
- 字典树java版本
- 停止Eclipse LogCat的自动滚动
- java八大排序算法实现
- java.lang.OutOfMemoryError: PermGen space
- 运行Java的基础
- 通过java api 读取sql 中数据(查询)
- java中接口的定义与实现
- 在java中实现access数据库的远程访问
- java入门第一季2
- spring学习笔记---第三方SDK(Rest API)和Jaskson的巧用
- java匿名类
- [leetcode-44]Wildcard Matching(java)
- Java读写大文本文件(2GB以上)