HashSet原理图(就是一个简单的原理图):
疑问:
1.数组的长度是多少?
2 数组的类型是什么?
3 hashCode,equals方法真的调用了吗?验证
4 底层表达式是什么?
5 同一个位置的数据向前放,还是向后放
6放入数组中的数组,是直接放的吗?是否封装为对象了?
LinkedHashSet实现类,特点:唯一,有序(按照输入顺序进行输出)
LinkedHashSet就是在其实就是在HashSet的基础上,多了衣蛾总的链表,这个总链表放入的元素串在一起,方便有序的遍历
package wanggng;
import java.util.HashSet;
import java.util.LinkedHashSet;
public class TestInteger {
public static void main(String[] args) {
//创建一个HashSet集合
LinkedHashSet<Integer> hs = new LinkedHashSet();
hs.add(19);
System.out.println(hs.add(18));//true这个是输入进去的
System.out.println(hs.add(18));//false这个是没有放进去的
hs.add(15);
hs.add(13);
System.out.println(hs.size());//唯一并且无序
System.out.println(hs);
}
}