• java 学习初识集合


    数组和集合都是存储数据的容器

             数组的特点

                    数组定义完成后并启动 ,类型确定,长度固定

                    不适合元素的个数和数据类型不确定的业务场景,更不合适做需要增删数据操作

                    数组的功能也比较的单一处理数据的能力并不是强大

             集合的特点

                  集合的大小不固定,启动后也会动态变化,类型也可以选择不固定。集合更像气球

                   集合非常适合元素不能确定,且需要做元素的增删操作 的场景

                   同时,集合提供的种类特别丰富,功能也是很强大,开发中集合用的更多

    几个关于集合和数组的异同

                  1 数组和集合的元素存储的个数问题

                         数组定义后类型确定 长度固定

                         集合类型可以不固定 大小是可以变得

                   2 数组和集合存储元素的类型问题

                          数组可以存储基本类型和引用类型的数据

                           集合只能存储引用数据类型的数据

                  3 数组和集合适合的场景

                            数组更适合数据个数和类型确定的场景

                             集合更适合做数据个数不确定,且要做增删元素的场景,集合种类更多,功能更强大

    集合类体系结构

                                                                       

              

     Collection 单列集合,每个元素(数据)只能包含一个值

     Map双列集合,每个元素包含两个值(键值对)

    Collection集合体系

                   

     

    Collection集合特点

                   List系列集合  添加的元素是有序、可以重复、有索引的

                         ArrayList 、LinkedList 

                    Set 系列集合 可添加元素是无序 不重复 无索引

                          HashSet 无序 不重复 无索引 LinkedHashSet 有序 不重复 无索引

                         TreeSet 按照大小默认升序排序 不重复 无索引   

     迭代器遍历概述

                   遍历就是一个一个的把容器内的元素访问一遍

                   迭代器在java中的代表Iterator 迭代器是集合的专用的遍历方式

           Collection 集合获取迭代器

                       Iteration iterator()            返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引

     Iteration 中的常用的方法

                           Boolean hasNext()              询问当前位置是否有元素有返回true 不存在返回false

                          E next()                                      获取当前位置的元素 同时将迭代器对象移动到下一个位置  注意防止越界

                        

    1. Iterator it = lists.iterator();
    2. while(it.hasNext()){
    3. String ele = it.next();
    4. System.out.println(ele);
    5. }

    、迭代器的默认位置在哪里。

    l Iterator iterator() :得到迭代器对象,默认指向当前集合的索引 0

     增强for循环‘’    ()数组集合都可遍历    

                

                    for(元素数据类型 变量名 : 数组或者Collection集合) {

                                  //在此处使用变量即可,该变量就是元素

                                }

    1. Collection list = new ArrayList<>();
    2. for(String ele : list) {
    3. System.out.println(ele);
    4. }

    List系列集合特点

             ArrayList 、LinkedList 有序 可重复 有索引

              有序 : 存储和取出元素顺序一样

               有索引 : 课通过操作元素

               可重复  :存储的元素可以重复

    List集合特有的方法  

               List集合支持索引 多了许多关于索引的API 其他Collection 的功能List也继承了

     

    List的实现类的底层原理

              ArrayList 底层是基于数组实现的 根据查询元素快 删除相对慢

               LinkedList 底层基于双链表实现的  查询慢 增删首尾快

     

  • 相关阅读:
    (四)动态阈值分割
    Java SpringBoot实现PDF转图片
    谛听安全 | 内容审核闯关攻略指南
    使用 Service 把前端连接到后端
    【OpenCV 例程200篇】235. 特征提取之主成分分析(sklearn)
    GBase 8d的性能指标
    CREO:利用CREO软件实现装配设计之四连杆机构设计案例应用(图文教程)之详细攻略
    0816(032天 线程/进程03 一点细节+线程池)
    关于Oracle数据库字段排序的问题
    让你说一说Sass、Less 的区别是什么,你知道吗?
  • 原文地址:https://blog.csdn.net/qq_52153640/article/details/126284508