Java.9--集合

一、Collection接口

-->单列集合(共享给大家)

.add();把给定的对象添加到当前集合中

clear();清空集合中所有的元素

remove();把给定的对象在当前集合中删除

contains();判断当前集合中是否包含给定的对象

isEmpty();判断当前集合是否为空

size();返回集合中元素的个数/集合的长度

1)List

-->有序可重复有索引

add();在此集合中的指定位置插入指定的元素

remove();删除指定索引处的元素,返回被删除的元素

set();修改指定索引处的元素,返回被修改的元素

get();返回指定索引处的元素

1.ArrayList

-->用Lis和Collection的方法

Vector 与ArrayList相同只是安全性和效率问题,ArrayList效率高但是不 安全。

没有特殊方法

2.Linklist

addFirst();在该列表开头插入指定的元素

addLast();将指定的元素追加到此列表的末尾

getFirst();返回此列表中的第一个元素

getLast();返回列表中的最好一个元素

removeFirst();从此列表中删除并返回第一个元素

removeLast();从此列表中删除并返回最后一个元素

2)Set

-->无序不重复无索引 -->不能使用普通for遍历

1.HashSet

-->该集合存储自定义类型元素,要想实现元素的唯一,要求必须重写hashCode方法和equals方法

2.TreeSet

TreeSet();//根据其元素的自然排序进行排序

TreeSet(Comparator comparator):根据指定的比较器进行排序

3)总体关系图

4)五种遍历方式的使用场景

1.迭代器遍历:在遍历过程中需要删除元素

2.列表迭代器:在遍历过程中需要添加元素

3.增强for循环:仅遍历

4.Lambda表达式:仅遍历

5.普通for循环:如果遍历的时候想操作索引,可以用普通for循环

二、Map

-->双列集合

.put();添加元素

.remove();删除键值对

clear();移除所有的键值对元素

containsKey();判断集合是否包含指定的键

containValue();判断集合是否包含指定的值

isEmpty();判断集合是否为空

size();集合的长度,也就是集合中键值对的个数

1)HashMap

-->用Map的方法

-->依赖hashCode方法和equals方法包装键的唯一

-->如果键存储的是自定义对象,需要重写hashCode和equals方法

-->如果值存储自定义对象,不需要重写hashCode和equals方法

2)TreeMap

-->无索引,不重复,可排序(默认对键进行升序,可以重写方法该降序)

Comparable接口,指定比较规则。

创建集合时传递Comparator比较器对象,指定比较规则。

Collections工具类

Collections不是集合,而是集合的工具类

Collection<T> c,T.....elements 批量添加元素

shuffle(List<?> list) 打乱List集合元素的顺序

上一篇:深入探讨C++中的存储类


下一篇:开源呼叫中心系统与商业软件的对比