• 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 底层基于双链表实现的  查询慢 增删首尾快

     

  • 相关阅读:
    落实GTD三法印:与你的GTD系统互动,打造可信可行的外脑系统
    集合——list
    Elasticsearch:什么时候应该考虑在 Elasticsearch 中添加协调节点?
    LeetCode 面试经典150题 80.删除有序数组中的重复项II
    OpenCV 中Mat.depth()的理解——每个像素的位数——每个像素中每个通道的精度
    设计模式之责任链模式(场景说明)
    如何查看一个期刊是sci几区以及影响因子 入藏号 ISSN等信息
    saltstack学习1入门基础
    回溯法:雀魂启动!
    几种常见的 ZK-EVM 类型
  • 原文地址:https://blog.csdn.net/qq_52153640/article/details/126284508