Collection集合总结

《警世贤文》之勤奋篇:
有田不耕仓禀虚 有书不读子孙愚
宝剑锋从磨砺出 梅花香自苦寒来
少壮不经勤学苦 老来方悔读书迟
书到用时方恨少 事因经过始知难
板凳要坐十年冷 文章不写一句空
智慧源于勤奋 伟大出自平凡
书山有路勤为径 学海无涯苦作舟
少年不努力 老大徒伤悲
欲求生富贵 须下死功夫

每每都是用,才知道自己原来知道的是那么少,一边复习,一边总结,慢慢提升自己。加油!!!

1、Collection的子类们

1,List:有序(存储和读取的顺序有序),可重复。

  1. ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,但是效率高。

  2. Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低。

  3. LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高。

2,Set:无序,唯一。

  1. HashSet:底层数据结构是哈希表,那么它是怎样保证元素唯一性的呢?——>依赖两个方法:hashCode()和equals(),在实际开发中是要自动生成即可。

    注意:LinkedHashSet:底层数据结构是链表和哈希表,由链表保证元素有序,由哈希表保证元素唯一。

  2. TreeSet:底层数据结构是红黑树(自平衡二叉查找树),那么它又是怎样保证元素排序的呢?—–>自然排序和比较器排序。如何保证元素唯一性?—–>根据比较的返回值是否为0来决定。

2、对于Collection集合,到底使用谁?

1,唯一

  1. 判断是不是唯一,要是要求唯一,选择Set,而不用List。

  2. 判断要不要对集合进行排序,排序就用TreeSet。不排序就用HashSet。

  3. 确定了要用Set后不确定用哪个,那就直接用HashSet。

2,不唯一

  1. 不唯一,就用List
  2. 要安全就用Vector
  3. 不要安全就用ArrayList或者LinkedList,其中查询多用ArrayList,增删多用LinkedList。
  4. 确定了用List,但是不知道用哪个,就用ArrayList。

3,在使用集合的使用,不知道用哪个!

简单暴力的做法:直接用ArrayList。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值