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

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

# 集合知识梳理

## 概述:

集合就是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

相关文章
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
43 1
|
4月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
36 0
|
2月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
421 1
|
7月前
|
测试技术
读完这篇文章后,才发现Allpairs这款工具,让测试用例变得如此简单
读完这篇文章后,才发现Allpairs这款工具,让测试用例变得如此简单
277 0
|
7月前
|
SQL 数据采集 关系型数据库
软件测试|一篇文章带你深入理解SQL约束
软件测试|一篇文章带你深入理解SQL约束
72 0
|
1月前
|
Java 测试技术 Python
如何实现对iframe的自动化测试,一篇文章告诉你
如何实现对iframe的自动化测试,一篇文章告诉你
15 0
|
3月前
测试文章
测试文章
12 0
|
8月前
|
SQL 数据挖掘 测试技术
软件测试|弄懂GROUP BY看这一篇文章就够了
软件测试|弄懂GROUP BY看这一篇文章就够了
57 0
|
3月前
|
测试技术
软件测试/测试开发|pytest用例执行顺序,这篇文章就够了
软件测试/测试开发|pytest用例执行顺序,这篇文章就够了
35 0
|
8月前
|
存储 缓存 运维
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
173 0

热门文章

最新文章