集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合相关的知识,希望对你有一定的参考价值。

一、集合的由来及集合继承体系图

1、数组和集合的区别:

区别(1)数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值;

集合只能存储引用数据类型(对象),集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象

区别(2)数组长度是固定的,不能自动增长;

集合的长度是可变的,可以根据元素的增加而增长

2、数组和集合什么时候用?

(1)如果元素的个数是固定的,推荐用数组

(2)如果元素的个数不是固定的,推荐用集合

3、集合继承体系图

技术分享

二、Collection集合的基本功能测试

1、

①、add(boolean)

②、remove(boolean)

③、clear(void)

④、contains(boolean)

⑤、isEmpty(boolean)

⑥、size(int)

2、

①、addAll

②、removeAll——删除的是两集合的交集

③、containsAll——判断调用的集合是否包含传入的集合

④、retainAll——取交集(如果调用的集合改变就返回true,如果调用的集合不变就返回false)

三、数据结构之数组和链表

1、List三个子类的特点

(1)ArrayList,底层数据结构是数组,查询快,增删慢;

        线程不安全,效率高

(2)Vector,底层数据结构是数组,查询快,增删慢;

        线程安全,效率低

        Vector相对ArrayList查询慢(线程安全)

        Vector相对LinkedList增删慢(数组结构)

(3)LinkedList,底层数据结构是链表,查询慢,增删快;

        线程不安全,效率高

Vector和ArrayList的区别:

Vector是线程安全的,效率低;

ArrayList是线程不安全的,效率高

共同点:都是数组实现的

ArrayList和LinkedList的区别:

ArrayList底层是数组结构的,查改快,增删慢;

LinkedList底层是链表结构的,查改慢,增删快;

共同点:都是线程不安全的

2、到底该使用哪个嘞

查改多用ArrayList

增删多用LinkedList

都多用ArrayList


本文出自 “顺其自然” 博客,请务必保留此出处http://wangchuankun.blog.51cto.com/6023368/1749007

以上是关于集合的主要内容,如果未能解决你的问题,请参考以下文章

怎样判断哪个集合属于哪个集合

数学分析集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )

数学分析集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )

Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

Groovy集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )

集合ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合