JAVA 集合--总结篇

本文详细介绍了Java集合的主要分类、实现类之间的对比以及常用的工具类。包括List、Set、Map的实现类对比,如ArrayList与LinkedList的区别,HashSet与TreeSet的特点等,并介绍了Collections和Arrays工具类的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java集合的作用不必多说大家都知道,下面通过思维导图梳理他们的关系

JAVA 集合分类

JAVA集合主要分为两大接口,四大体系
这里写图片描述

JAVA集合的比较

  1. List实现类比较
    (1) ArrayList 与LinkedList
    ArrayList : 数组类型的集合,查询(使用get与set方法)快,增删慢(需要移动数据)
    LinkedList: 链表类型的集合,查询(使用get与set方法)慢,增删快(查询需要移动指针)
    (2) ArrayList 与Vector
    Vector 与ArrayList基本相似,唯一区别是Vector 是线程同步的即线程安全

  2. Set实现类比较
    HashSet 与TreeSet
    HashSet:查速度最快的集合因为底层是hashcode实现
    TreeSet :生成一个排序的集合,底层是TreeMap实现,按自然排序或者提供的comparator排序

  3. Map实现类比较
    HashMap 与hashtable
    HashMap: 线程不安全,允许null值null键
    Hashtable: 线程安全,不允许null值null键

JAVA集合工具类

  1. Collections 工具类
    该类提供了很多操作集合的静态方法,特别是强同步synchronized 可以保证线程安全,只读强控等

  2. Arrays 工具类
    该类是操作数组的工具类,对集合只要知道这个

    // 源代码
    @SafeVarargs
    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }

    // 测试
        //特别强调基本类型一定要转换为原始类
    Integer [] arr =  {111, 222};
    List  list = Arrays.asList(arr);
        // 或者
    List  list2 = Arrays.asList({111, 222});

   // 且list集合定长不可以删和增加操作

补充点

集合的整体体类图(摘自博客)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值