Java--容器/集合类(Collection)理解和使用
、数组和集合的比较
数组:长度固定,用来存放基本类型的数据
集合:长度不固定,用来存放对象的引用
二、集合类的基本概念
1.java.util包中提供了一些集合类,这些集合类也被称为容器。
常用的集合有List集合、Set集合、Map集合,他们的关系继承如下:
2.Collection接口:
Collection<String> list = new ArrayList<>()
常用方法:
方法 | 功能描述 |
add(E e) | 将指定的对象添加到该集合中 |
remove(Object o) | 将指定的对象从该集合中删除 |
isEmpty() | 判断当前集合是否为空,返回boolean型 |
iterator() | 迭代器,用于遍历集合中的对象 |
size() | 获取集合中的元素,返回int值 |
3.List接口:(有序,可以用索引来访问元素,包含重复对象)
(1)ArrayList是可变的数组,允许保存所以的元素,速度较慢
(2)LinkedList便于插入和删除对象
List<E> list = new ArrayList<>()
List<E> list = new LinkedList<>() {E为数据类型,如果不懂的话看上一篇讲泛型的随笔}
其他两个常用方法;
方法 | 功能描述 |
get(int index) | 获得指定索引位置的元素 |
set(int index, Object obj) | 将指定位置元素修改为指定对象 |
4.Set集合:(无序,不包含重复对象)
TreeSet<E> tree = new TreeSet<>()
其他两个常用方法;
方法 | 功能描述 |
first() | 返回此set中第一个元素 |
last() | 返回此set中最后一个元素 |
5.Map接口:(没有继承Collection接口,提供key到value的映射,不能包含相同的key,且每一个key只能映射一个value)
Map<E, E> map = new HashMap<>(); <E, E>指的是key和value的数据类型。
方法 | 功能描述 |
put(K key, V value) | 向集合中添加key和value的映射关系 |
get(Object key) | 如果存在指定的key对象,则返回该对象对应的value,否则返回null |
keyset() | 返回集合中所有key对象形成的set集合 |
values() | 返回集合中所有value形成的Collection集合 |