hashSet:集合,无索引,不可重复
HashSet<String> hs = new HashSet<>(); //创建HashSet对象,使用泛型,只能存储String字符串
boolean b1 = hs.add("a");
boolean b2 = hs.add("a"); //当向set集合中存储重复元素的时候返回为false
System.out.println(hs); //HashSet的继承体系中有重写toString方法
for (String string : hs) { //也可以使用增强for循环遍历
System.out.println(string);
}
hs.size(); //集合中元素的个数
LinkedHashSet:底层是链表实现的,因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样
LinkedHashSet<String> lhs = new LinkedHashSet<>(); //操作与HashSet大同小异
ArrayList<String> list = new ArrayList<>();
LinkedHashSet<String> lhs = new LinkedHashSet<>();
lhs.addAll(list); //将List集合中所有的元素添加到LinkedHashSet集合
list.clear(); //将list集合中的元素清除
TreeSet<String> ts = new TreeSet<>(new Comparator<String>() { //在创建TreeSet时就重写compare函数,加入的元素会自动根据定义排序
@Override
public int compare(String s1, String s2) {
int num = s1.compareTo(s2); //比较内容为主要条件
return num == 0 ? 1 : num; //保留重复
}
});
HashSet<String> names = new HashSet<String>();
names.add("Asker");
names.add("Crak");
names.add("Bayliss");
names.add("Mohna");
names.add("Dina");
System.out.println("HashSet before sorting : " + names);
//将HashSet转换为List,然后使用Collections.sort()进行排序
List<String> tempList = new ArrayList<String>(names);
Collections.sort(tempList);
System.out.println("HashSet element in sorted order : " + tempList);