集合
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 作为下标访问集合 )