Set,Collections,Map

本文详细介绍了Java集合框架中的Set接口、Collections工具类以及Map接口的相关概念和使用方法。包括Set的特点及其常用实现类HashSet、LinkedHashSet的区别,Collections提供的实用静态方法,以及Map的基本操作如插入、获取、删除等。

第1章 Set接口

1.1 特点

1. 无序的顺序和取的顺序有可能不同)

2. 不允许重复元素

3. 没有索引

l 注意:最常用的Set集合是HashSet还有些集合是Set的实现类,但是他不满足所有Set接口的特点(子类类更强大),比如LinkedHashSet他是有序的

1.2 判断唯一性规则

首先拿要添加的元素的哈希值和集合中的每一个元素的哈希值进行比较,如果不相同,直接添加。如果哈希值相同,就去使用equals进行比较如果equals不相同,就代表不重复,就添加,如果相同,就代表重复,就不添加

总结:先判断hash(调用hashCode方法)然后再判断equals

第2章 Collections

2.1 概念

l 是操作集合的工具类

2.2 常用方法

l static void swap(List list, int i, int j) :将指定列表中的两个索引进行位置互换

static void sort(List<T> list) :按照列表中元素的自然顺序进行排序

static void shuffle(List list):随机置换 ,洗牌,打乱顺序

static void reverse(List list)  :反转

l static void fill(List list, Object obj) :使用指定的对象填充指定列表的所有元素

l static void copy(List dest, List src) :是把源列表中的数据覆盖到目标列表

l static int  binarySearch(List list, Object key) 使用二分查找法查找指定元素在指定列表的索引位置

第3章 Map接口

3.1 概念

Map是所有双列集合接口。双列集合是采用键值对的方式进行存储的每个key不可以重复,并且每个key只对应一个value

3.2 常用方法

l 映射功能:

     V put(K key, V value) :将keyvalue的映射关系添加到map集合中

l 获取功能:

   V get(Object key) : 根据key,获取value

   int size() :获取集合中映射关系的个数

l 判断功能:

   boolean containsKey(Object key) :判断是否包含这个key

  boolean containsValue(Object value) :判断是否包含这个value

  boolean isEmpty() : 判断是否为空

 

l 删除功能:

   void clear() :清空集合中的所有映射关系

   V remove(Object key)  :根据key去删除映射关系,并返回被删除的value

  

l 遍历功能:

   Set<Map.Entry<K,V>> entrySet() :用于遍历 

   Set<K> keySet()  :返回key的集合

   Collection<V> values()  :返回value的集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值