一.Java集合类框架

Java集合大致可分为Set、List和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合;从Java5以后,Java又增加了Queue体系集合,代表一种队列集合的实现。

Java的集合类主要由两个接口派生而来:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含一些子接口或实现类。Collection和Map接口、子接口及其实现类的继承树如下图所示。对于Set、List、Queue和Map四种集合,最常用的是HashSet、TreeSet、ArrayList、ArrayDeque、LinkedList和HashMap、TreeMap等。

Java学习第六篇:集合类

Java学习第六篇:集合类

二.Collection和Iterator接口

1.Collection接口

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

import java.util.*;
public class CollectionTest {
    public static void main(String[] args) {
        Collection c=new ArrayList();
        //虽然集合里不能放基本类型的值,但Java支持自动装箱
        //关于自动装箱,见http://www.cnblogs.com/danne823/archive/2011/04/22/2025332.html
        //添加元素
        c.add("孙悟空");
        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");
        System.out.println("c的集合元素:"+c);
        
        Collection books=new HashSet();
        books.add("Java");
        books.add("C++");
        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);
        
        System.out.println("books的集合元素:"+books);
        //books集合里只剩下c集合里也包含的元素
        books.retainAll(c);
        System.out.println("books的集合元素:"+books);
    }
}
View Code

相关文章: