随手小记(给自己参考):
新年上班第一天,有点疲于缺陷的修复,顺便记录自己的不足之处
HashSet 是继承的set,不是同步,属于异步处理,如果需要同步的话可以加入关键字 volatile(数据的可见性)
HashSet 是无序存放的,这也就意味着HashSet没有index,从而决定了HashSet没有get等方法,
HashSet的读取可以使用迭代器Iterator、foreach、for循环这三种,这边我自己常使用迭代器 Iterator,
在接触HashSet的时候,在网上关于值的修改这块内容较少,这边自己记录下,以防忘记,
HashSet属于
引用类型,这也就意味在修改值的时候不需要手工进行remvoe、add方法去进行值的代替,
只需要在迭代器中直接对HashSet中引用对象值的修改
在HashSet中常使用的关键字 add ,remove, iterator,contains
private volatile HashSet<Object> set = new HashSet<Object>;
Iterator<Object> iterator = set.iterator();
while( iterator.hasNext() ){
Integer i = (Integer)iterator.next();
...
...
}
这边记录一下equals和hashcode,在进行set中对象的对比时候,可以重写一下hashcode和equals