Java学习Day032(集合和泛型)

本文详细介绍了Java集合框架,包括Collection、List、Set、Map接口及其常见实现类如ArrayList和LinkedList。讲解了ArrayList和LinkedList的主要方法,以及Set接口中的HashSet。还涉及到了迭代器Iterator的使用和Map接口的操作,如put、get和remove方法。文章进一步阐述了泛型在集合中的应用,以提高类型安全性,并提及了Collections工具类的一些常用排序和查找方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Java集合框架包含的内容
        1)Collection 接口存储一组,不唯一,无序的对象
        2)List 接口存储一组不唯一,有序(插入顺序)的对象
        3)Set 接口存储一组唯一,无序的对象 
        4)Map接口存储一组键值对象,提供key到value的映射 

2.List接口的实现类 
        ArrayList:  实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
        LinkedList:  采用链表存储方式,插入、删除元素时效率比较高

3.ArrayList常用方法
        方法名                说明
        boolean add(Object o)        在列表的末尾顺序添加元素,起始索引位置从0开始
        void add(int index,Object o)    在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
        Object get(int index)        返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
        boolean contains(Object o)    判断列表中是否存在指定元素
        boolean remove(Object o)    从列表中删除元素
        Object remove(int index)        从列表中删除指定位置元素,起始索引位置从0开始

    Collection接口常用通用方法还有:clear()、isEmpty()、iterator()、toArray()

4.LinkedList常用方法
        方法名                说明
        void  addFirst(Object o)        在列表的首部添加元素
        void  addLast(Object o)        在列表的末尾添加元素
        Object  getFirst()            返回列表中的第一个元素
        Object  getLast()            返回列表中的最后一个元素
        Object  removeFirst()        删除并返回列表中的第一个元素
        Object  removeLast()        删除并返回列表中的最后一个元素

5.Set接口
        1)Set接口存储一组唯一,无序的对象
        2)HashSet是Set接口常用的实现类
        3)Set中存放对象的引用

6.迭代器Iterator
        方法1:通过迭代器Iterator实现遍历 
        1)获取Iterator :Collection 接口的iterator()方法
        2)Iterator的方法
            boolean hasNext(): 判断是否存在另一个可访问的元素 
            Object next(): 返回要访问的下一个元素
        方法2:增强型for循环

7. Map接口
    Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
        最常用的实现类是HashMap

8.Map接口常用方法
        方法名                    说明
        Object put(Object key, Object val)    以“键-值”对的方式进行存储
        Object get(Object key)            根据键返回相关联的值,如果不存在指定的键,返回null
        Object remove(Object key)        删除由指定的键映射的“键-值对”
        int size()                    返回元素个数
        Set keySet()                    返回键的集合
        Collection values()                返回值的集合
        boolean containsKey(Object key)    如果存在由指定的键映射的“键-值对”,返回true

8.遍历Map集合
        方法1:通过迭代器Iterator实现遍历 
        方法2:增强型for循环
        方法3:键值对

9.泛型集合
        1)如何解决以下强制类型转换时容易出现的异常问题
            1)List的get(int index)方法获取元素
            2)Map的get(Object key)方法获取元素
            3)Iterator的next()方法获取元素
        2)泛型集合可以约束集合内的元素类型 
        3)典型泛型集合ArrayList<E>、HashMap<K,V>
            <E>、<K,V>表示该泛型集合中的元素类型
            泛型集合中的数据不再转换为Object


10.泛型
        将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性


11.Collections算法类
        1)Java集合框架将针对不同数据结构算法的实现都保存在工具类中
        2)Collections类定义了一系列用于操作集合的静态方法

12.Collections类常用方法
        1)Collections和Collection不同,前者是集合的操作类,后者是集合接口
        2)Collections提供的常用静态方法
            sort():排序
            binarySearch():查找
            max()\min():查找最大\最小值

13.Collections排序
        1)Collections类可以对集合进行排序、查找和替换操作
        2)实现一个类的对象之间比较大小,该类要实现Comparable接口
            重写compareTo()方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值