一.集合概述
集合,就类似一个容器,可以存储多个数据。
之前学习的数组也是一种容器,而集合与数组主要区别在于:
- 数组的长度是固定的,集合的长度是可变的
- 数组存储的是同一类型的元素,主要是基本类型,而集合存储的都是对象,而且对象的类型可以不一致
Java的集合按照存储结构可以分为两类:单列集合Collection和双列集合Map,两类集合都在java.util
包中。
java.util
包主要提供了三种类型的集合:
- List:一种元素有序,元素可重复的集合
- Set:一种没有重复元素,元素无序的集合
- Map:一种存储键值对的集合
Java集合的设计有两个特点:
- 实现了接口和实现类的分离,比如有序表的接口是List,具体实现类有ArrayList,LinkedList等
- 支持泛型,可以限制一个集合只能存储同一种类型的元素
Java中提供了丰富的集合类库,以下为Collection的继承体系:
二.Collection集合的通用方法
Collection类是所有单列集合的父接口,其定义了一些通用方法,可以用于所有的单列集合。
主要有以下方法(不是全部):
boolean add(E e)
:把给定的对象添加到当前集合中void clear()
:清空集合中所有的元素boolean remove(Object o)
:把给定对象在当前集合中删除,删除成功返回true,失败返回falseboolean contains(Object o)
:判断当前集合中是否包含给定的对象,包含返回true,不包含返回falseboolean isEmpty()
:判断当前集合是否为空,为空返回true,不为空返回falseint size()
:返回集合中元素的个数Object[] toArray()
:把集合中的元素存储到数组中
import java.util.*;
public class CollectionTest {
public static void main(String[] args) {
// 使用多态创建
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("张三");
c.add("李四");
c.add("王五");
System.out.println(c); // 输出:[张三, 李四, 王五]
// 判断是否包含一个"李四"的元素
System.out.println(c.contains("李四")); // 输出:true
// 删除"李四"
boolean ret = c.remove("李四");
System.out.println("删除李四成功?:" + ret); // 输出:删除李四成功?:true
// 再判断一次
System.out.println(c.contains("李四")); // 输出:false
// 判断集合是否为空
System.out.println(c.isEmpty()); // 输出:false
// 返回集合的个数
System.out.println(c.size()); // 输出:2
// 将集合转换为数组
Object[] array = c.toArray();
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}// 输出:张三 王五
System.out.println();
// 清空集合
c.clear();
// 判断集合是否为空
System.out.println(c.isEmpty()); // 输出:true
}
}
原文地址:https://www.cnblogs.com/LucasBlog/p/12206942.html
时间: 2024-10-11 03:50:10