集合可以看作是一个容器,比如:狗可以看成一个集合,猫可以看成一个集合等等。
集合的作用:对于集合中的对象,我们可以将他们按照一定的顺序进行摆放,Java提供了不同的集合类,对应不同存储对象方式,且提供了方法可以对集合进行遍历、添加、删除、以及查找指定对象。
常见的集合类有三种:List集合、Set集合、Map集合,其中List与Set继承了Coleection接口,各接口还提供了不同的实现类。
集合类继承关系:
1.Collection接口
常用方法:
方法 | 功能 |
add(E e) | 添加 |
remove(Object o) | 移除 |
isEmpty() | 判断当前集合是否为空 |
iterator() | 用于遍历 |
size() | 获取集合中元素个数 |
import java.util.*;
public class Testone { // 创建类Muster
public static void main(String args[]) {
Collection<String> list = new ArrayList<>(); // 实例化集合类对象
list.add("a"); // 向集合添加数据
list.add("b");
list.add("c");
Iterator<String> it = list.iterator(); // 创建迭代器
while (it.hasNext()) { // 判断是否有下一个元素
String str = (String) it.next(); // 获取集合中元素
System.out.println(str);
}
}
}
2.List集合
List集合包括List接口和List接口的所有实现类。而List接口继承了Collection接口,因此包含Collection中的所有方法
此外,List接口还定义了一下两种方法
方法 | 功能 |
get(int index) | 获取指定索引位置的元素 |
set(int index,Object obj) | 修改指定索引位置 |
实例化:
List<E>list=new ArrayList<>();
List<E>list=new LinkedList<>();
3.Set集合
Set集合由Set接口和Set接口实现的类组成。Set接口继承了Collection接口,因此包含Collection中的所有方法
注意:Set的构造有一个约束条件,传入的Collection对象不能有重复值
Set接口常用的实现类:HashSet类与TreeSet类
HashSet类实现Set接口,,不保证Set的迭代顺序,特别是它不保证该顺序保持不变,允许使用null元素
TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此,TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序。
TreeSet类的一些方法:
方法 | 功能 |
first() | 返回当前第一个元素 |
last() | 返回当前最后一个元素 |
comparator() | 对返回元素进行排序的比较器 |
headSet(E toElement) | 返回一个新的Set集合,新集合包含toElement之前的对象 |
subSet(E fromElement,E fromElement) | 返回一个新的Set集合,包含fromElement之间的对象 |
tailSet(E fromElement) | 返回一个新的Set集合,包含fromElement之后的对象 |
Map接口
方法 | 功能 |
put(K key,V value) | 向集合添加指定的key与value的映射关系 |
containsKey(Object key) | if此映射包含指定key的映射关系,返回true |
containsValue(Object value) | if此映射将一个或多个key映射到对应值,则返回true |
get(Object key) | if存在指定key对象,返回对应值,否则null |
keySet() | 返回该集合中的所有key对象形成的Set集合 |
values() | 返回该集合中所有值对象形成的Collection集合 |