java集合
------------恢复内容开始------------
集合
概念:对象的容器,定义了对多个对象进行操作的常用方法。
与数组的区别:
1.数组长度固定,集合长度不固定
2.数组可以存储基本类型和引用类型,集合只能存储引用类型
位置:
java.util.*;
Collection体系集合
Collection (根接口)
List(接口)
特点:有序,有下标,元素可重复
ArrayList (类) 数组列表
LinkedLIst (类)链表
Vector (类,几乎不用)
Set(接口)
特点:无序,无下标,元素不能重复
HashSet (类)
SortedSet (接口) 排序的接口
TreeSet (类)
Collection 父接口
特点: 代表一组任意类型的对象,无序,无下标,不能重复。
方法:
Collection接口的使用
实例化: Collection co = new ArrayList(); 添加: co.add(“内容”); 删除:co.remove(“内容”); 清空: co.clear();
遍历:
1.增强for(看不到下标,所以不用for)
2.迭代器(专门用来遍历集合的一种方式)
Iterator(接口) 逐渐往下走,直至元素末尾
hasNext(方法) 判断是否有元素
next(方法) 下一个
remove(方法) 删除(可在迭代过程中)
使用:迭代器中不允许使用collection其他方法
Iterator it = collection。iterator();
while(it.hasNext()){
String s =(String) it .next;
System.out.println(s);
it.remove();
}
clear
只在集合里清除,只删除指针。内容实际还是存在
List接口
有序,有下标,元素可重复;
add 可在指定位置添加元素
indexOf 返回元素第一次出现的索引
subList (始,末) 返回列表指定元素之间的部分视图,左闭右开 List sb = list.sb(1,3)
List接口使用
list.toString 打印列表
列表迭代器 ListIterator 可以向前或向后遍历,添加add,删除remove,修改set 元素
previous 倒着遍历
判断
contains 是否存在
isEmpty 是否为为空
indexOf 获取位置
集合内添加数字类型(基本类型),则会自动装箱,成 integer包装类的数值
remove删除数值是角标索引删除或者 remove((Object)20)转换成Object类型或者remove(new Integer(20))转成new Integer类型
List实现类
ArrayList : 数组列表集合
数组结构实现,查询快,增减慢;
运行效率快,线程不安全
源码分析:默认容量 (添加元素之后) DEFAULT_CAPACITY = 10; 如果没有向集合中添加任何元素时,容量为0,每次扩容大小是原来的1.5倍
elementDate 存放元素的数组
size 实际元素个数
Vector
数组结构实现,查询快,增减慢;
运行效率慢,线程安全
LinkedLIst
链表结构实现,增删快,查询慢
指向,形成一条链状
Set
无序,无下标,元素不可重复
全部继承自Collection方法
set实现类
HashSet
基于HashCode计算元素存放位置
当存入元素的哈希码相同时,会调用equals进行确认,如结果为true,则拒绝后者加入
数组+列表+红黑树
快速添加HasjCOde的equals方法
TreeSet
基于排列顺序实现元素不重复。
实现了SortedSet接口,对集合元素自动排排序
元素对象的类型必须实现Comparable接口,指定排序规则
通过CompareTo方法确定是否为重复元素
Map集合
Map接口的特点:
1.用于存储任意键值对(Key-Value)
2.键:无序,无下标,不允许重复(唯一)
3.值:无序,无下标,允许重复
方法:
V put (K key , V value) 将对象存入集合中,关联键值。key重复则覆盖原值。
------------恢复内容结束------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧