【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方法实现排序。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值