java-集合类:Collection(List、Queue、Set)和 Map

java集合是一个工具类,需要到Utils包,可以存储任意数量的具有共同属性的对象。
集合框架的体系结构为:
在这里插入图片描述
1、List(列表)
(1)List是元素有序且可以重复的集合,成为序列
(2)List可以精确的控制每个元素的插入位置,或删除掉某个位置的元素
(3)List的两个主要实现类是ArrayList 和 LinkedList

1.1 ArrayList
(1)ArrayList底层是由数组实现的。
(2)动态增长,以满足应用程序的需求
(3)在列表尾部插入或者删除数据非常有效,但在中间需大量数组复制,较麻烦。
(4)更适合查找和更新元素。
(5)ArrayList中的元素可以为null

ArrayList的常用方法
1)	list.add()    			//新增
2)	list.add(index,value) 	//指定索引插入
3)	list.size()				//返回长度
4)	list.get(index) 		//根据索引查询值
5)	list.remove(index)		//根据索引进行删除
6)	list.remove(value)		//直接根据元素值进行删除,因为可重复,所以可能会删除了多个
7)	list.contains(value)	//判断序列中是否包含value
8)	list.set(index,value)	//根据索引来修改元素值
9)	list.indexOf(value)		//返回第一个出现value的索引,和字符串中的indexOf方法一样
10)list.lastIndexOf(value)	//返回最后一次出现value的索引,和字符串中的lastIndexOf一样

1.2 LinkedList

3、Set(集)
Set是元素无序并且不可以重复的集合,被称为集。

3.1 HashSet
(1)HashSet是Set的一个重要实现类,成为哈希集。
(2)HashSet中元素无序并且不可以重复,因此在某些不需要重复数据插入时比较好用。
(3)HashSet中只允许一个null元素,因为它不允许重复。
(4)具有良好的存取和查询功能。

HashSet常用方法
1)boolean	add(E e)				//新增
2)boolean addAll()					//
3)void	clear()						//清空
4)boolean contains()				//判断是否包含
5)boolean equals(Object o)			//判断是否一致
6)int	hashCode()					//返回哈希值
7)Iterator<E> iterator()			//迭代器方法

4、Map接口
(1)Map中的数据是以键值对(Key-Value)的形式存储的
(2)Key-Value以Entry类型的对象实例存在
(3)可以通过Key值快快速查找Value
(4)一个映射(Key-Value)不能包含重复键(Key),Value可以
(5)每个键最多只能映射到一个值

4.1 HashMap
(1)基于哈希表的Map接口的实现
(2)允许使用null值和null键,(但只能由一个null键,因为不允许重复)
(3)Key值不允许重复
(4)HashMap中Entry对象是无序排列的。

HashMap常用方法
1)Set<Map.Entry<k,v>>	entrySet()				//返回键值对的所有信息
2)				void	get(Object key)			//通过key值来取得想对应的值
3)				Set(k)	keySet()				//取出所有key的值
4)				void	put(K key,V value)		//将元素添加到hashMap中
5)				void 	remove(Object key)		//根据key来移除元素
6)		Collection<v>	values()				//返回Values值的集合
7)				void	clear()					//清空	
8)			boolean		isEmpty()				//判断hashmap是否为空
9)				int		size()					//返回hashMap长度

4.2 TreeMap
TreeMap的顺序是自然顺序,如(1,2,3…10),也可以指定比较函数,但不是插入的顺序。

4.3 LinkedHashMap
它内部有一个链表,保持插入的顺序,迭代的时候,也是按照插入的顺序进行迭代,而且迭代比HashMap快

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值