HashSet&LinkedHashSet&TreeSet的简单使用

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);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值