--测试 集合==文章====测试

简介: 一些关于集合的基本概念

# 集合知识梳理

## 概述:

集合就是Java的一种容器,能够用来存储对象

## Collection(单列集合)

### List

- #### 关于List的相关概念

 1.  List接口继承了Collection接口。

 2.  List在Collection基础上增加了其它方法

 3.  List中的元素是有序且可以重复的。

 4.  List是一个带有索引的集合。可以通过索引获取List中的元素

 5.  List的实现

    |-----List  

    |-----ArrayList  

    |-----LinkedList

    |-----Vector

 6. 遍历list中的数据的方式 ①增强for循环 ②迭代器 ③普通for循环 ④ListIterator

    ```java

    //增强for循环的遍历方式

   

    //使用迭代器遍历集合

   

    //使用 ListIterator 遍历集合

   

    ```

   

- #### ArrayList

 - 说明:

   1. ArrayList 的底层是数组

   2. 构造器

      ```java

      //底层是一个空的数组并不是为null

      new Array();  

     

      //底层创建了一个长度为initialCapacity长度的数组

      new ArrayList(int initialCapacity);  

     

      //底层将c集合变成一个数组然后底层就开始使用此数组

      new ArrayList(Collection c);  

      ```

   3. ArrayList 的底层实现原理

      - 当我们通过空参构造器创建对象时底层会创建一个空数组。当我们第一次添加数据时底层会再次创建数组(长度为10), 将原数组中的内容拷贝到新的数组中(第一次没有元素)。

      - 当我们向集合中添加第十一个元素时底层会进行扩容,扩容为原来的1.5倍,并将原来数组中的内容拷贝到新数组。

- #### LinkedList

 - 说明

   1.   LinkedList的底层是`双向链表`。

   2.   LinkedList实现了Deque接口。Deque接口继承了Queue接口。

      - Queue : 单向队列 (实现队列的效果)

        ```java

         // Deque : 双向队列 (可以实现栈的效果也可以实现队列的效果)

            public void test(){

               

                //栈 :先进后出

                Deque list = new LinkedList();

               

                //压栈

                list.push("a");

                list.push("b");

               

          //出栈,返回出栈的元素,可以直接打印输出

                list.pop();

            }

       

        ```

      - Deque : 双向队列 (可以实现栈的效果也可以实现队列的效果)

        ```java

            // Deque : 双向队列 (可以实现栈的效果也可以实现队列的效果)

            public void test2(){

                //队列 :先进先出

                Deque list = new LinkedList();

               

                //入队

                list.offer("a");

                list.offer("b");

             

                //出队

                list.poll();

            }

       

       

            // Queue : 单向队列 (实现队列的效果)

            public void test3(){

                Queue list = new LinkedList();

               

                //入队

                list.offer("a");

                list.offer("b");

       

                //出队 ,先进先出,  出队的方法是poll();

                list.poll();

            }

        ```

 

 - 常见的LinkedListAPI

   ```java

   void  addFirst(Object obj )   //在头部添加元素

     

   void  addLast(Object obj )  //在尾部添加元素

     

   Object getFirst()  //获取头部元素

     

   Object getLast()  //获取尾部元素

     

   Object removeFirst()  //删除头部元素并返回

     

   Object removeLast ()  //删除尾部元素并返回

     

   ```

 

- ####  Vector

###  Set

- #### HashSet

 - ##### LinkedHashSet

- #### TreeSet

## Map(双列集合)

### HashMap

- #### LinkedHashMap

### TreeMap

### Hashtable

- #### Properties

相关文章
|
6月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
81 0
|
6月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
155 1
|
6月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
573 9
|
4月前
|
测试技术 API 持续交付
【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分
【7月更文挑战第2天】【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分:1) 自动化测试的重要性与Python的易用性、库支持、跨平台和社区优势;2) Unittest作为标准测试框架的基础用法,及Pytest的灵活性与强大功能;3) 实践中包括Selenium的Web UI测试、Requests的API测试,强调测试隔离、持续集成等最佳实践。Python助力高效稳定的软件测试。
56 2
|
5月前
|
监控 Shell 测试技术
一篇文章讲明白MonkeyAPP压力稳定性测试
一篇文章讲明白MonkeyAPP压力稳定性测试
310 1
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
49 6
|
4月前
|
机器学习/深度学习 存储 Linux
我的OS Copilot测试文章
在阿里云管理控制台尝试重置密码时遇到错误,未能成功跳转至相应实例;但后续的密码重置流程顺利,安全组设置和SSH连接快速无阻,且体验到AccessKey预警系统的实用性。在处理代码时曾因未替换特殊字符报错,但最终解决了问题,实现了Python代码分析功能,确认系统为Linux,并对OS工具的交互性和实用性表示赞赏,特别是其与Linux环境的兼容性。遇到过一次生成实例的错误,但整体体验良好,有兴趣参与OS Copilot的开源开发。
|
4月前
|
运维 测试技术 双11
什么是性能测试,一篇文章告诉你!
性能测试评估系统在现实负载下的性能和可靠性,包括响应时间、吞吐量和稳定性。目的是发现瓶颈、评估系统能力、优化性能和确保可靠性。在**双十一大促**等高并发场景下,性能测试至关重要。它有助于合理规划资源,降低成本,提升效率。测试工程师需掌握性能调优,理解压力曲线图,识别最佳并发用户数和最大承载点。通过测试,确保系统在最佳效率下运行,避免资源浪费和用户满意度下降。
67 0
|
5月前
|
Web App开发 测试技术 iOS开发
一篇文章讲明白locust性能测试
一篇文章讲明白locust性能测试
81 0
|
5月前
|
Linux Shell 测试技术
Linux服务器测试脚本集合
LemonBench是iLemonrain创作的Linux服务器性能测试工具,能一键检测系统信息、网络、CPU、内存和硬盘性能。
55 0