欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java集合类collection的用法

程序员文章站 2024-03-11 19:47:43
...

为什么出现集合类
面对对象语言对事物的体现就是以对象的形式,所以方便多个对象的操作。Java提供了集合类

数组和集合的区别:
A:长度区别
数组的长度固定
集合长度可变
B:数组中可以存储基本数据类型
集合只能存储对象
集合类的特点:
集合只能存储对象,集合长度是可变的,集合可以存储不同类型的对象

不同的需求,java数据提供了不同的集合类,java提供了很多个集合类,但它们的数据结构不同,它们肯定有共性的内容(存储,获取,判断等)通过不断的向上提取、得到一个集合的继承体系结构
java集合类collection的用法

分析:
从具体到抽象

实现:
从平常抽象到具体
使用:
数据结构:数据的存储方式

接口 Collection:是集合的顶层接口,它的子类可以重复,有唯一的,有有序的,有无序的

Collection 
1添加功能
 boolean add(E e)添加一个元素
boolean addAll(Collection<? extends E> c):添加一个集合的元素
void clear() 
boolean containsAll(Collection<?> c) 



2删除功能
void clear():移除所以元素
boolean remove(Object o):移除一个元素
boolean removeAll(Collection<?> c)移除一个集合的元素(是一个还是所有)

3判断功能
boolean contains(Object o):判断集合是否包含指定的元素
boolean containsAll(Collection<?> c) :判断集合中是否包含指定的集合元素
boolean isEmpty():判断集合中是否为空
4获取功能(重点)
Iterator<E> iterator()

5长度功能
 int    size() :元素的个数

数组没有length()方法 字符串有length()方法,集合没有length()方法,

6交集功能
boolean retainAll(Collection<?> c):判断两个集合中是否有相同的元素
7把集合转换为数组
Object[]    toArray() 
public interface Collection<E>
extends Iterable<E>
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 SetList)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 
说明collection 不能new 一个对象
Collection c = new Collection();  (错误示范)
只能找已经找已知的实现类

Collection c = new ArrayList();(正确示范)

以下是使用方法
import java.util.ArrayList;
import java.util.Collection;

     public class  Text10{

         public static void main(String[] args) {
        //集合一   
        Collection c = new ArrayList();

        c.add("1");
        c.add("2");
        c.add("你好");
        c.add("加油");
        //集合二
        Collection c1 = new ArrayList();
        c.add("3");
        c.add("4");
        c.add("努力");
        c.add("加油");


        //添加一个集合的元素
        System.out.println("addAll:"+c.addAll(c1));

        System.out.println("removeAll:"+c.remove(c1));
        //只要有一个元素被移除了,就返回true


        //只要包含所有元素,才是包含
        System.out.println("containsAll:"+c.containsAll(c1));

        //c.clear();移除所有元素
    //  boolean contains(remove o)//移除一个元素
        System.out.println("remove"+c.remove("你好"));
        System.out.println("c:"+c);

    //  boolean contains(Object o)//判断是否包含的指定元素


         //只要有交集返回true,没交集返回false
            System.out.println("retainAll:"+c.retainAll(c1));
    //  boolean  isEmpty(Object o)//判断集合是否为空,有元素true 没元素f false
        System.out.println("isEmpty"+c.isEmpty());
        //元素的个数
        System.out.println("c:"+c.size());//
        }
     }