java中集合的知识点

时间:2022-09-03 16:26:46

1.JAVA中集合都存放在java.util包中

2.JAVA集合中主要分为三种类型:Set,List,Map。我写的这篇文章主要是对Set和List的理解

3.Collection是最基本的集合接口,Set和List都是通过这个接口实现的。

 

首先放一张图说明他们的关系

java中集合的知识点

一:Collection

主要方法:

1.int size():返回集合中元素的数目

2.boolean isEmpty():返回集合是否为空,一般就用上面的size()就够了,这个很少用

3.boolean contains(Object o):判断元素是否包含在集合中

4.boolean add(E e):向集合中添加一个元素

5.boolean remove(Object o):删除集合中的一个元素

6.void clear():删除集合中所有的元素

7.Object[] toArray():返回一个数组,数组包含集合中所有元素

7.Iterartor iterator():返回一个Iterator对象,迭代器,可以用来遍历集合中的元素,iterator()中有两个方法:hasNext()判断有没有下一个元素;next():取出下一个元素

 

二:List

特点:

  1.有下标;

  2.有序的(有序不是自然顺序,不是123,abc,有序指的是存和取的顺序一致)

  3.元素可重复

主要方法:

  大部分继承自Collection

  1.增: add(E e);add(int index,E e);

  2.删: remove(Object obj);remove(int index);

  3.改: set(int index,E e);

  4.查: get(int index);

  5.其他:size(),clear(),contains(Object obj),toArray(),iterator();isEmpty()

实现类:

  1.ArrayList:底层采用数组结构,查询快,增删慢

  2.LinkedList:底层采用链表结构,查询慢,增删快

  3.Vector:底层采用数组结构,查询快,增删慢(具有安全性,安全性体现在哪里?做个记号,以后再补)

实现类的方法:

  1.ArrayList:方法基本和List中定义的一模一样

  2.LinkedList:除了和List接口中一样的方法之外,它还提供了大量首位操作的方法

     增:void addFirst(E e);void addLast(E e);

     删:E removeFirst();//删除首个元素,返回被删除的元素

            E removeLast();//删除尾部元素,返回被删除的元素

            E pop();//弹出,删除集合中的某一个元素,和 removeFirst功能是一样的

            void push(E e);//推入,把一个元素添加到集合中, 和addFist功能是一样的

     查:E getFirst();E getLast()

 

三:Set

特点:

  1.无下标

  2.无序的(无序指的是存和取的顺序不一定一致,LinkedHashSet和TreeSet除外)

  3.不可重复

实现类:

  1.HashSet:底层采用哈希表结构,查询快,增删快,无序的

  2.LinkedHashSet:底层采用 链表+哈希表,查询快,增删快,有序的

保证唯一性的两个方法:

  1. int hashCode():

  2.boolean equals(Object obj):