Java 集合类

本文详细介绍了Java集合框架中各种集合类的特点与应用场景,包括ArrayList、LinkedList、Vector、Stack、HashSet、TreeSet、LinkedHashSet等,以及HashMap、Hashtable、LinkedHashMap、TreeMap、WeakHashMap和IdentityHashMap的特性与区别。
摘要由CSDN通过智能技术生成

ArrayList<String> list = new ArrayList<>();
// 非线程安全,有序可重复,允许元素可以有一个或多个null、底层由数组实现、查询较快插入与与删除元素的速度慢
// jdk1.8  初始容量为10扩充容量oldCapacity + (oldCapacity >> 1); 1.5倍


LinkedList<String> linkedList = new LinkedList<>();
// 非线程安全,有序可重复,允许元素可以有一个或多个null,采用链表数据结构,插入和删除速度快,访问速度慢


Vector<String> vector = new Vector<>();
// 线程安全 ,有序可重复,允许元素可以有一个或多个null,底层由数组实现
// 默认容量为10容量扩展2倍


Stack<String> stack = new Stack<>();
// 线程安全继承自Vector,是一种后进先出的模式,只能在栈头进行插入与删除操作,Stack刚创建后是空栈,允许元素可以有一个或多个null


HashSet<String> hashSet = new HashSet<>();
// 非线程安全,无序不可重复的元素,元素只可有一个null值


TreeSet<String> treeSet = new TreeSet<>();
// 非线程安全,有序不可重复的元素,元素中不可以有null值(用二叉树排序)


LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
// 非线程安全,继承自HashSet,有序不可重复的元素,元素只可有一个null值(插入顺序)


HashMap<String, String> hashMap = new HashMap<>();
// 非线程安全,可以有一个key值为null或多个value为null
// 默认大小是16,扩充2的指数。


Hashtable<String, String> hashtable = new Hashtable<>();
// 线程安全,key和value都不允许出现null值。
// 默认大小是11,扩充 oldSize*2+1


LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>();
// 非线程安全,继承自HashMap,有序,可以有一个key值为null或多个value为null


TreeMap<String, String> treeMap = new TreeMap<>();
// 非线程安全,有序,key值不可以为null可以有多个value为null (用二叉树排序)


WeakHashMap<String, String> weakHashMap = new WeakHashMap<>();
// 非线程安全,可以有一个key值为null或多个value为null
// 当系统内存不够的时候,垃圾收集器会自动的清除没有在其他任何地方被引用的键值对。


IdentityHashMap<String, Object> identityHashMap = new IdentityHashMap<>();
// 允许Key重复的Map(==方式比较两个Key)

转载于:https://www.cnblogs.com/QQ80565970/p/6848178.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值