Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的跟接口,这两个接口又包含了一些子接口和实现类。
Collection接口是List(有序可重复集合)、Set(无序不可重复集合)、Queue(队列,先进先出)接口的父接口,Collection接口中有以下操作集合元素的方法。
- boolean add(Object o) : 该方法用于向集合里添加一个元素。如果集合对象被添加操作改变了,则返回true。
- boolean addAll(Collection c) : 该方法把集合c里所有元素添加到指定集合里。如果集合对象被添加操作改变了,则返回true。
- boolean isEmpty() : 返回集合是否为空。当集合长度为0时返回true,否则返回false。
- boolean contains(Object o) : 返回集合里是否包含指定元素,包含返回true,不包含返回false。
- boolean containsAll(Collection c) : 返回集合里是否包含集合c里的所有元素,包含返回true,不包含返回false。
- boolean remove(Object o) : 删除集合中的指定元素o,当集合中包含了一个或多个元素o时,该方法只删除第一个符合条件的元素,该方法将返回true。
- boolean removeAll(Collection c) : 从集合中删除集合c里包含的所有元素(相当于用调用该方法的集合减去集合c),如果删除了一个或多个元素,则返回true。
- boolean retainAll(Collection c) : 从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,则返回true。
- int size() : 该方法返回集合里元素的个数。
- Object[] toArray() : 该方法把集合转换成一个数字,所有集合元素变成对应的数组元素。
- Iterator iterator() : 返回一个Iterator对象,用于遍历集合里的元素。
- void clear() : 清除集合里的所有元素,将集合长度变为0.
package com.fuyun.java.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
/**
* @Author: 浮云
* @Date: 2019/12/22 12:26
*/
public class collectionTest {
public static void main(String[] args) {
Collection<Object> c = new ArrayList();//多态
c.add("https://blog.youkuaiyun.com/lz6363");//添加元素
c.add("java");
c.add("learn");
c.add(66);//虽然集合不能放基本数据类型,但Java支持自动装箱
System.out.println("c集合的元素个数:" + c.size());//结果为4
c.remove(66);//删除指定元素
System.out.println("c集合的元素个数:" + c.size());//结果为3
System.out.println("c集合是否包含\"java\"字符串:" + c.contains("java"));//结果为true
System.out.println("c集合的元素:" + c);
Collection students = new HashSet();//多态
students.add("张三");
students.add("李四");
students.add("王五");
students.add("learn");
System.out.println("c集合是否完全包含students集合?" + c.contains(students));//false
c.removeAll(students);//用c集合减去students集合里的元素
System.out.println("c集合的元素:" + c);
c.add("learn");
//从students集合中删除c集合不包含的所有元素(相当于把students的集合变成和集合c的交集),如果该操作改变了调用该方法的集合,返回true
System.out.println(students.retainAll(c));//true
System.out.println("students集合的元素:" + students);
c.clear();//删除c集合里的所有元素
System.out.println("c集合的元素:" + c);
}
}
运行结果:
c集合的元素个数:4
c集合的元素个数:3
c集合是否包含"java"字符串:true
c集合的元素:[https://blog.youkuaiyun.com/lz6363, java, learn]
c集合是否完全包含students集合?false
c集合的元素:[https://blog.youkuaiyun.com/lz6363, java]
true
students集合的元素:[learn]
c集合的元素:[]