优秀的编程知识分享平台

网站首页 > 技术文章 正文

java超级基础之List集合和Map集合

nanyue 2024-10-18 07:38:17 技术文章 9 ℃

List集合(有先后顺序)

List集合包括List接口,和List接口的所有实现类.List集合中的元素可以重复,各元素的顺序就是对象插入的顺序,用户可以通过索引集合的下标来访问元素.

List接口: List接口继承了Collections接口,因此可以使用Collectiobs的所有方法

额外定义的方法:

1.get(int index): 获取指定下标位置的元素

2.set(int index,Object obj): 将集合中指定下标未知的对象修改为指定对象

List接口的实现类:

ArrayList类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引下标位置对集合进行快速的访问;(与数组相同索引位置也是0开始)

缺点:向指定索引位置插入对象或删除对象速度较慢.

实质:底层实现是数组object[] + 线性表操作()(对object[]进行增删改查)

LinkedList类采用链表结果保存对象,这种结构的优点是便于向集合中插入或删除对象;

缺点:根据索引位置访问集合中的对象效率较低

ArrayList 和 LinkedList 区别 (实现原理不一样)

ArrayList: 变长数组算法实现

LinkedList:双向循环链表实现的

Map集合

Map集合没有继承Collections接口,其提供的是key到value的映射.Map中不能包含相同的Key 每个key只能映射一个value, value可以重复写入,但是会覆盖

功能: (key-value)成对放置的集合,key不重复,value可以重复(但会覆盖)

Map接口中的常用方法

put(K Key,V value) 向集合中添加指定的键值对(key-value)

containsKey(Object key) 如果集合中包含指定的key 则返回true

containsValue(Object value) 如果集合中包含指定的value 则返回true

get(Object key) 搜索指定的key 如存在返回键值对 如无返回null

key Set() 返回该集合所有的key

values() 返回该集合中所有的键值对

实现类: HashMap(散列表算法实现)

TreeMap(二叉树实现)

最近发表
标签列表