集合框架
存储多个数据/对象,使用数组
数组:存储相同数据类型一段连续的空间
限制:定长
添加、删除、统计比较麻烦
存储的是单列的值
学号---学生信息
订单号--订单详情
中文名称--英文名称
集合框架:一些接口和类
java.util包
Collection集合 存储单列数据的根接口
表示一组对象
一些 collection 允许有重复的元素,而另一些则不允许。
一些 collection 是有序的,而另一些则是无序的。
JDK 不提供此接口的任何直接 实现
提供更具体的子接口
List 列表 序列
有序(访问顺序和添加顺序一致)
有索引
允许重复
允许null
使用参考:动态数组
boolean add(E e)
void add(int index, E element)
boolean addAll(Collection<? extends E> c)
boolean addAll(int index, Collection<? extends E> c)
E get(int index)
E remove(int index)
boolean remove(Object o)
boolean removeAll(Collection<?> c)
void clear()
Iterator<E> iterator()
ListIterator<E> listIterator()
boolean contains(Object o)
int indexOf(Object o)
boolean isEmpty()
Object[] toArray()
Iterator接口 专门迭代Collection接口
boolean hasNext() 如果仍有元素可以迭代,则返回 true。
E next() 返回迭代的下一个元素
ArrayList 动态数组
不是线程安全的
特点:底层通过数组来实现
增加,删除效率低
随机访问速度快
内存使用率不高
使用场景:频繁增删的,不要选它。
LinkedList
底层结构:双向链表
增删相对效率高(首尾元素增删效率高)
随机访问效率低
元素散乱分布,内存使用率高
作为List的实现类,ArrayList可以做的事情,LinkedList都可以做
作为Deque(双端队列)的实现类:
支持在两端插入和移除元素
xxxFirst() xxxLast()
作为队列: 先进先出
添加--往队尾添
移除/获取---从队头操作
offer(e) 往队尾添
poll() 获取并移除队头
peek() 获取,但不移除队头
作为栈:先进后出
栈顶 --头部
push()压栈 addFist
pop() 弹栈(获取并移除) removeFirst
element()获取,但不移除getFirst
Vector 线程安全
使用方法同ArrayList
Stack 已经被LinkedList替代了
Set 数据集,集合
不包含重复元素
最多包含一个 null 元素
不要求有序
没有索引
参考:模仿了数学上的 set 抽象
HashSet
TreeSet
Map 映射 存储映射关系的接口
将键映射到值的对象--键值对
个映射不能包含重复的键;每个键最多只能映射到一个值(key:value 1对1 多对1)
没有索引
根据键来操作
HashMap
Collections 工具类 提供了操作集合的方法
泛型:jdk1.5之后新增
数据类型参数化
参数字母:E(element)K(key) V(Value) T(Type)
其实字母可以随意写 A U
好处:比较灵活,通用性比较好
注意使用场景:泛型集合类,泛型类,泛型方法
注:主页更多学习资料
详细解决方案
集合框架( ArrayList LinkedList)
热度:84 发布时间:2023-11-23 00:01:47.0
相关解决方案
- java.util.ArrayList cannot be cast to com.hxll.hr.entity.SalaryStandard解决方法
- 在线求解决,js arrayList,该如何处理
- java口试要点-ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象
- arrayList 的removeAll效率有关问题
- LinkedList 源码求解解决方法
- List<Object> list=new ArrayList<String>()异常
- ArrayList add步骤
- 求解java LinkedList 指定元素剔除,指定位置插入
- List<User> userList = new ArrayList<User>();解决思路
- List list = new ArrayList(); 是什么意思?解决思路
- 怎么创建一个arraylist结构体数组,即元素为结构体的 arraylist
- 怎样让页面刷新后 ArrayList 值不丢失,该如何处理
- 把 ArrayList 的值存入Session 当从Session 中取值时遇到有关问题
- ArrayList.ToArray的有关问题 求救~
- ArrayList ,ilist,DataSet,哪个性能更好点。该如何处理
- ArrayList A 和ArrayList B,如果A和B中有重复的项,则删除掉,该怎么处理
- int[] 怎么快速 转换成 arraylist?
- ArrayList 显示有关问题
- 关于继承super()问题,重载,arraylist。
- 求助!Linkedlist<E>泛型类输出结果可以不显示为数组吗
- ArrayList,Vector, LinkedList的储存性能和特性
- javascript 兑现 Hashtable ArrayList StringBuffer
- Java容器类List、ArrayList、Vector及地图、HashTable、HashMap分别的区别
- ArrayList,LinkedList以及Vector的差异
- stack 跟双向列表 LinkedList 的使用-没有实践
- ArrayList、Vector跟LinkedList
- ArrayList
- java.util.ArrayList cannot be cast to .pojo.SchoolInfo解决方案
- ArrayList 对象依据字符串时间字段排序(坐等大神指教)
- ArrayList,该如何解决