【Java】集合概述Collection、Map

Java集合分为Collection和Map,Collection又分为List、Set。 List中有ArrayList、LinkedList和Vector;Set中又分为HashSet和TreeSet。Map中有HashMap和TreeMap。他们的分类结构关系如下:

分类结构

1. Collection

    1.1 List

            1.1.1 ArrayList

            1.1.2 LinkedList

            1.1.3 Vector

    1.2 Set

            1.2.1 HashSet

            1.2.2 TreeSet

2. Map

    2.1 HashMap

    2.2 TreeMap

特点和区别

1. Collection:以值的形式直接存储,可重复

   1.1 List  有序的,可重复的

        1.1.1 ArrayList 底层是数组,添加删除慢,查找快,线程不安全的;

        1.1.2 LinkedList 底层是链表,添加删除快,查找慢,线程不安全的;

        1.1.3 Vector  底层是数组,添加删除慢,查找快,线程安全的。

   1.2 Set 无序的,不可重复的

        1.2.1 HashSet 底层是哈希表,可以通过重写hashCode() 和 equals()方法去重,不可排序的;

        1.2.2 TreeSet 底层是二叉树,可以通过重写Comparable中的compareTo方法,或者重写Comparator的compare方法实现去重和排序。

2. Map: 以键值对的形式,key-value结构映射的

    2.1 HashMap 线程不安全的,可以通过重写hashCode() 和 equals()方法去重,不可排序的;

    2.2 TreeMap 线程不安全的,可以通过重写Comparable中的compareTo方法,或者重写Comparator的compare方法实现排序。


猜你喜欢

转载自blog.csdn.net/xin93/article/details/79857188