Java笔记(十三)各类集合、排序的知识点整理

这篇博客详细梳理了Java中Collection集合的结构,重点探讨了List集合的ArrayList和Vector的区别,包括效率和扩容机制。还介绍了Queue集合作为队列的概念,以及Set集合的HashSet特性和排序原理。总结了HashSet的存储过程和结论,并提及了SortedSet接口及其排序方式:自然排序和自定义比较器排序。
摘要由CSDN通过智能技术生成
Collction集合

1.结构

Collection(I)
	| - List(I) - 线性结构
		| - ArrayList(C) - 顺序结构 - 数组
		| - LinkedList(C) - 链式结构 - 双向链表
		| - Vector(C) - 顺序结构 - 数组
			| - Stack - 栈
	| - Set(I) - 散列结构(没有顺序)
		| - HashSet(C) - 散列结构
		| - SortedSet(I)
			| - TreeSet(C) - 二叉树
	| - Queue(I) - 队列
		| - Deque(I) - 双端队列,栈(根据方法区分)
			| - LinkedList(C) - 链式结构 - 双向链表
2.List集合
1)特点:
a.List集合是有顺序的,所以是有序列表,可以使用下标
b.List集合允许有重复的值
2)独有方法:
get(int index) 
set(int index, E element) 
remove(int index)
add(int index, E element) 
addAll(int index, Collection<? extends E> c)  
indexOf(Object o) 
lastIndexOf(Object o) 
subList(int fromIndex, int toIndex) - 截取子集合
	截取特点: 前包含,后不包含

3)常用实现类:
ArrayList

	(1)底层实现:数组
	(2)特点:
		a.数组是带有标号的,可以根据下标获取元素,并且下标是连续的
		b.除了标号是连续的,它的物理内存空间也是连续的
	(3)优缺点:
		优点:查询快
		缺点:
			a.增加/删除慢
			b.因为需要连续的内容空间,所以非常占用内存

LinkedList


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值