Java基础——Java集合(一)

概述


 

Java的集合类主要由两个接口派生而来:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包括了一些子接口或实现类。如下图是集合的继承关系:

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

1.1 Collection接口


 

Collection接口是List、Set、Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合。

 

Collection接口里定义了如下操作集合元素的方法:

boolean add(Object o);  该方法用于向集合里添加一个元素。如果集合元素被添加操作改变了,则返回true。

boolean addAll(Collection c);  该方法把集合c里的元素添加到指定集合里。如果集合对象被操作改变了,则返回true。

void clear();  清除集合里的所有元素。将集合长度变为0.

boolean contains(Object o);  返回集合里是否包括指定元素。

boolean containsAll(Collection c);  返回集合里是否包括集合c里所有的元素。

boolean isEmpty();  返回集合是否为空。

Iterator iterator();  返回一个Iterator对象,用于遍历集合里的元素。

boolean remove(Object o);  删除集合里指定元素o。当集合里包括一个或多个元素o时,这些元素将被删除,该方法返回true。

boolean removeAll(Collection c);从集合里删除集合c里包括的所有元素。如果删除了一个或一个以上的元素,该方法返回true。

int size();   该方法返回集合里元素的个数

Object[]  toArray();  该方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。

 

下面示范一下:

import java.util.*;

public class CollectionTest
{
    public static void main(String[] args) 
    {
        Collection c = new ArrayList();
        //添加元素
        c.add("孙悟空");
        //虽然集合里不能放基本类型的值,但Java支持自动装箱
        c.add(6);
        System.out.println("c集合的元素个数为:" + c.size());
        //删除指定元素
        c.remove(6);
        System.out.println("c集合的元素个数为:" + c.size());
        //判断是否包含指定字符串
        System.out.println("c集合的是否包含\"孙悟空\"字符串:" 
            + c.contains("孙悟空"));
        c.add("轻量级Java EE企业应用实战");
        System.out.println("c集合的元素:" + c);
        Collection books = new HashSet();
        books.add("轻量级Java EE企业应用实战");
        books.add("疯狂Java讲义");
        System.out.println("c集合是否完全包含books集合?" 
            + c.containsAll(books));
        //用c集合减去books集合里的元素
        c.removeAll(books);
        System.out.println("c集合的元素:" + c);
        //删除c集合里所有元素
        c.clear();
        System.out.println("c集合的元素:" + c);
        //books集合里只剩下c集合里也包含的元素
        books.retainAll(c);
        System.out.println("books集合的元素:" + books);
    }
}

 

运行结果:

 

c集合的元素个数为:2
c集合的元素个数为:1
c集合的是否包含"孙悟空"字符串:true
c集合的元素:[孙悟空, 轻量级Java EE企业应用实战]
c集合是否完全包含books集合?false
c集合的元素:[孙悟空]
c集合的元素:[]
books集合的元素:[]

 

posted @ 2015-04-02 16:36  leejun同学  阅读(178)  评论(0编辑  收藏  举报