Java:集合类(List、Set、Map)

一、集合器的继承关系

Map
Java.lang.Object
HashMap
TreeMap
Collection
Set
HashSet
TreeSet
List
ArrayList
LinkedList
Vector

二、Collection接口

Collection是一个接口不能直接只用,但是提供了添加元素、删除元素、管理数据的方法。

方法功能描述
add(E e)将指定的对象添加到集合中
Remove(Object o)将指定的对象从集合中移除
isEmpty()判断该集合是否为空,为空返回true,反之为false
iterator()迭代器,可以用于遍历集合中的对象
size()返回int类型,为该集合上的元素个数

接下来展示一下迭代器的使用

public static void main(String[] args){
	Collection<String> collection = new ArrayList<>();
	collection.add(
	Iterator<String> it = collection.iterator();//it的类型要根据Collection里存放的类型而定
	while(it.hasNext()){
		String str = (String)it.next();//Iterator的next()方法返回值是Object类型,所以要强制转换一下
		System.out.println(str);
	}
}

三、List集合

1、List接口

List集合中的元素允许重复存放(类似于数组)、元素插入List的顺序就是元素在集合中的顺序,用户可以用索引来访问集合中的元素。

List中除了Collection接口功能,还有两个重要的特殊功能:

get(int index)//获得指定索引位置的元素
set(int index, Object obj)//将集合中指定index位置上的元素换成指定的obj

2、List接口实现类

(1)ArrayList

List<E> list = new ArrayList<>();

ArrayList实现了可变数组,可以保存所有元素(包括null)。适合查找,可以根据索引位置快速访问元素。不适合插入对象或删除对象。

(2)LinkedList

List<E> list = new LinkedList<>();

LinkedList采用链表结构保存对象。适合插入或删除对象,但是查询效率比较低。

(3)Vector

List<E> list = new Vector<>();

作为List接口的古老实现类;线程安全,效率低。

四、Set集合

1、HashSet

HashSet<E> hash = new HashSet<>();

HashSet实现了Set接口,由哈希表(实际上是一个HashMap实例)支持。不保证Set迭代顺序,允许使用null元素。

2、TreeSet

TreeSet<E> tree = new TreeSet<>();

TreeSet不仅实现了Set接口,还实现了java.util.SortedSet接口,因此,TreeSet实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,即可以通过比较器对TreeSet类实现Set集合中的对象进行排序。
下表为TreeSet比Collection新增的方法:

方法功能描述
first()返回set中的第一个元素
last()返回set中最后一个元素
comparator()返回此set中元素进行排序的比较器,如果是自然排序,则返回null
headSet(E toElement)返回roElement(不包含)之前所有的对象组成的新set集合
tailSet(E fromElement)返回roElement(包含)之后所有的对象组成的新set集合
subSet(E fromElement, E toElement)返回由fromElement(包含)到toElement(不包含)之间的元素组成的新set集合

五、Map集合

1、Map接口

Map没有继承Collection接口,其提供的是key到value的映射。Map中相同的key只能映射一个value。
Map中常用的方法如下:

方法功能描述
put(K key, V value)向集合添加(key,value)映射关系
containsKey(Object key)返回一个boolean类型,如果集合中存在key则返回true,否则返回false
containsValue(Object value)返回一个boolean类型,如果集合中存在value则返回true,否则返回false
get(Object key)如果集合中存在key则返回key对应的value值,否则返回null
KeySet()返回原集合中所有Key组成的新的集合
values()返回原集合中所有Value组成的新的集合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值