Java高级Day24-集合最后补充

75.HashTable

基本介绍:

  1. 存放元素的健值对 即K-V

  2. hashtable的键和值都不能为null,否则会抛出NullPointerException

  3. hashtable使用方法基本上和HashMap一样

  4. hashtable是线程安全的,hashmap是线程不安全

扩容机制:

  1. 底层有数组Hashtable$Entry[] 初始化大小为11

  2. 临界值threshedld 8 = 11 * 0.75

  3. 扩容:按照自己的扩容机制来即可

  4. 执行 方法addEntry(hash,key,value,index);添加K-V 封装到Entry

  5. 按照 int new Capacity = (oldCapactiy << 1) + 1;的大小来扩容

76.Properties

  1. Properties类继承自Hashtable类并实现了Map接口,也是使用一种键值对的形式来保存数据

  2. 他的使用特点和Hashtable类似

  3. Properties还可以用于从xxx.properties文件中,加载数据到Properties类对象,并进行读取和修改

77.开发中如何选择集合实现类

  1. 先判断存储的类型(一组对象或一组键值对)

  2. 一组对象:Collection接口

    允许重复:List

    增删多:LinkedList[底层维护了一个双向链表]

    改查多:ArrayList[底层维护Object类型的可变数组]

    不允许重复:Set

    无序:HashSet [底层是HashMap,维护了一个哈希表(数组+链表+红黑树)]

    排序:TreeSet

    插入和取出顺序一致:LinkedHashSet,维护数组+双向链表

  3. 一组键值对:Map

    键无序:HashMap[底层是:哈希表]

    键排序:TreeMap

    键插入和取出顺序一致:LinkedHashMap

    读取文件:Properties

78.Collections工具类

工具类介绍:

  1. Collections是一个操作Set、List和Map等集合的工具类

  2. Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改和操作

排序操作:(均为static方法)

  1. reverse(List):反转List中元素的顺序

  2. shuffle(List):对List集合元素进行随机排序

  3. sort(List):根据元素的自然顺序对指定List集合元素按升序排序

  4. sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序

  5. swap(List,int,int):将指定List集合中的 i 处元素和 j 处元素进行交换

查找、替换:

  1. Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素

  2. Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素

  3. Object min(Collection)

  4. Object min(Collection,Comparator):

  5. int frequency(Collection,Object):返回指定集合中指定元素的出现次数

  6. void copy(List dest,List src):将src中的内容复制到dest中

  7. boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值