Set不保存重复的元素,Set中最常用的是测试归属性,你可以很容易的询问某个对象是否存在某个Set中。
其中,HashSet查找速度最快,但不保证元素有序,HashSet使用散列存储;
TreeSet可以保证元素升序,TreeSet使用红黑树存储;
LinkedHashSet按输入顺序保存元素。
package com.select;
import java.util.*;
public class Test {
public static void main(String[] args){
Set<Integer> set = new HashSet<Integer>();
Random rand = new Random(47);
for(int i = 0; i < 300; i++)
//System.out.println(rand.nextInt(30));
set.add(rand.nextInt(30));//产生30以内的随机数
System.out.println(set);
}
}
如果想要升序保存可以使用TreeSet。(然而这两种输出都是有序的。。百度了一下说是不保证有序的意思不代表保证无序TAT)
输出:
使用contains()方法测试Set的归属性。
如上面的程序想询问38是否在Set中,则调用 set.contains(38)即可。