集合(一)

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

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

 

你可能感兴趣的:(java,list,set)